`
fastspeeed
  • 浏览: 34258 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

[MoCoolKaErpGen代码讲解] WCF knownType 在web.config中生成

 
阅读更多
MoCoolKaErp只有一个入口,接收参数为基类,按WCF协议必须声明所有的子类为knownType.最直接的办法就是遍历所有assembly,寻找所有的子类。
用linq遍历assembly寻找指定类生成web.config中序列化
linq语法的确精炼,一句话就行了
方法
        public XElement GenConfig(String[] assemblys)
        {

            return new XElement("system.runtime.serialization", new XElement("dataContractSerializer",
                 new XElement("declaredTypes",
                     new XElement("add", new XAttribute("type", typeof(MKEntity).AssemblyQualifiedName),
                         (from ass in assemblys
                          let assembly = Assembly.Load(ass)
                          select from type in assembly.GetTypes()
                                 where (type.IsClass && type.IsSubclassOf(typeof(MKEntity)))
                                 select (new XElement("knownType", new XAttribute("type", type.AssemblyQualifiedName))))
                         ))))
                     ;
        }
        调用
               [TestMethod()]
        public void GenConfigTest()
        {
            MKGenConfig target = new MKGenConfig(); // TODO: Initialize to an appropriate value
            string[] assemblys = new String[] { "MoCoolKaCoreErp", "MoCoolKaErp" };// TODO: Initialize to an appropriate value
            XElement expected = null; // TODO: Initialize to an appropriate value
            XElement actual;
            actual = target.GenConfig(assemblys);
            //Assert.AreEqual(expected, actual);
            //Assert.Inconclusive("Verify the correctness of this test method.");
        }

生成结果
<system.runtime.serialization>
  <dataContractSerializer>
    <declaredTypes>
      <add type="MoCoolKaErp.Model.MKEntity, MoCoolKaErp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null">
        <knownType type="MoCoolKaCoreErp.Model.Access.MKPurviewEO, MoCoolKaCoreErp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
        <knownType type="MoCoolKaCoreErp.Model.UI.MKColumnEO, MoCoolKaCoreErp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
        <knownType type="MoCoolKaCoreErp.Model.DataModel.MKFieldEO, MoCoolKaCoreErp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
        <knownType type="MoCoolKaCoreErp.Model.DataModel.MKTableEO, MoCoolKaCoreErp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
        <knownType type="MoCoolKaCoreErp.Model.UI.MKTabEO, MoCoolKaCoreErp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
        <knownType type="MoCoolKaCoreErp.Model.UI.MKWindowEO, MoCoolKaCoreErp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
        <knownType type="MoCoolKaCoreErp.Model.Code.MKCodeClassEO, MoCoolKaCoreErp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
        <knownType type="MoCoolKaCoreErp.Model.Code.MKCodeEO, MoCoolKaCoreErp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
        <knownType type="MoCoolKaCoreErp.Model.Access.MKConfigEO, MoCoolKaCoreErp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
        <knownType type="MoCoolKaCoreErp.Model.Access.MKRoleEO, MoCoolKaCoreErp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
        <knownType type="MoCoolKaCoreErp.Model.Access.MKUserEO, MoCoolKaCoreErp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
      </add>
    </declaredTypes>
  </dataContractSerializer>
</system.runtime.serialization>
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    aspnet中web.config配置节点详解.rar

    这个压缩包文件"aspnet中web.config配置节点详解.rar"包含了一个名为"aspnet中web.config配置节点详解.doc"的文档,很显然是为了详细解析`web.config`文件中的各个配置节点。下面我们将深入探讨这些关键节点。 1. `...

    WCF服务配置config文件(web应用)

    在Web应用中,配置WCF服务通常涉及到修改`Web.config`文件,这是ASP.NET Web应用程序的主要配置文件。以下是对`Web.config`文件中与WCF服务配置相关的知识点的详细解释。 1. **服务定义和服务合约** - `IService1....

    WCF客户端代理生成工具SvcUtil7.0.exe

    运行以上命令后,会在"C:\"目录下生成两个文件,ClientCode.cs 和app.config (C:\app.config 中已经为我们配置好了WCF服务的根节点等必须的信息,当然,如果您也可以自己对部分参数进行修改)

    WCF全面解析 上册.pdf

    WCF全面解析 上册.pdf WCF全面解析 上册.pdf WCF全面解析 上册.pdf

    WCF客户端代理类生成工具SvcUtil.exe下载及使用说明

    (C:\WCFClint\app.config 中已经为我们配置好了WCF服务的根节点等必须的信息,当然,如果您也可以自己对部分参数进行修改) 4.将ClientCode.cs 和app.config 添加到需要调用WCF服务的项目中 5.在需要调用WCF服务...

    Artech.WCFService.2007.03.02.zip

    2. **配置文件**:可能包含一个或多个配置文件,如app.config或web.config,用于设置服务的行为、绑定、终结点等信息。配置文件对于调整服务的运行时行为至关重要。 3. **客户端代码**:用于演示如何消费WCF服务的...

    App.config配置文件

    App.config配置文件是.NET框架中用于存储应用程序设置和配置信息的文件。它是Windows应用程序(如桌面应用或Windows服务)的主要配置文件,允许开发者在不重新编译代码的情况下更改应用程序的行为。下面将详细介绍...

    WCFTest-master.zip

    - App.config或Web.config:配置文件,定义了服务地址、绑定和行为等信息。 - Solution文件:整个项目的解决方案文件,便于管理和编译。 通过研究这个案例,你可以学习如何创建WCF服务,配置服务地址,生成并使用...

    silverlight动态访问WCF[文].pdf

    在这种情况下,可以通过Web应用程序的web.config文件传递服务地址,比如添加一个appSettings键值对`&lt;add key="WcfServiceAddress" value="http://myServices.com"/&gt;`。然后在承载Silverlight的ASPX页面中,使用`...

    WCFService可以通过web调用和WCF服务访问

    为了使WCF服务支持Web调用,需要在服务配置文件(web.config或app.config)中设置相应的终结点,指定binding为WSHttpBinding,并启用基本Http绑定,以便非.NET客户端(如Java)能够理解并调用服务。 2. **WCF调用**...

    WCF布署问题1 :HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态

    1. **Web.config配置问题**:WCF服务的配置可能不正确,导致IIS没有正确识别和处理请求。 2. **ISAPI筛选器或扩展未启用**:IIS可能没有启用处理WCF服务所需的ISAPI筛选器(如ASP.NET)或扩展。 3. **MIME类型不匹配...

    WCF高级编程源码.rar

    2. **配置文件**:WCF服务通常使用配置文件(app.config或web.config)来设置服务属性。源码中的配置文件可以作为参考,了解如何管理服务的行为和设置。 通过深入研究这个名为"WCF高级编程源码"的资源,开发者不仅...

    [WCF服务编程].(Programming.WCF.Services).Juval.Lowy.文字版.pdf.7z

    8. **服务托管**:WCF服务可以托管在各种环境中,如IIS(Internet Information Services)、Windows服务、自承载等,这为服务部署提供了极大的灵活性。 9. **持久化与状态管理**:对于需要持久化数据或管理会话状态...

    .Net开发人员通过WCF使用Node.js

    可能还包含了配置文件(如web.config或app.config),用于配置服务的绑定、行为和服务端点。 "DB.zip"文件则可能包含了一个数据库实例,用于演示WCF服务与Node.js之间的数据交换。这可能是一个SQL Server、MySQL或...

    C#POST请求WCF服务

    在C#代码中,实例化代理类并调用对应的方法。如果服务期望JSON格式的数据,你需要将输入参数转换为JSON字符串。这通常通过使用`System.Web.Script.Serialization`命名空间的`JavaScriptSerializer`类完成。 3. **...

    WCF服务器与客户端.rar

    在"Backup"这个文件中,可能包含了服务的配置文件(如app.config或web.config)、服务代码、客户端代码、示例数据或者其他帮助文档。要理解和利用这些资源,你需要解压文件,然后根据提供的代码和文档来创建、配置和...

    WCF.Multi-Layer.Services.Development.with.Entity.Framework.4th.Edition

    Title: WCF Multi-Layer Services Development with Entity Framework, 4th Edition Author: Mike Liu Length: 388 pages Edition: 4 Language: English Publisher: Packt Publishing Publication Date: 2014-10-27 ...

    手动配置WCF宿主的.config文件遇到的几种错误1

    在手动配置WCF(Windows Communication Foundation)服务的宿主`.config`文件时,可能会遇到多种错误,这些错误通常与服务定义、行为配置、终结点、绑定和身份验证有关。以下是一些常见问题及其解决方法: 1. **...

    PDA引用WCF自动生成代码

    2. **配置服务**:在服务配置文件(web.config或app.config)中,为服务设置合适的绑定和终结点。由于cf3.5不支持net.tcp,我们可以选择使用HTTP绑定(如basicHttpBinding或wsHttpBinding)。 3. **生成客户端代理...

Global site tag (gtag.js) - Google Analytics