gpt4 book ai didi

c# - 添加 WCF 服务引用不会生成代码

转载 作者:太空狗 更新时间:2023-10-29 21:52:12 26 4
gpt4 key购买 nike

场景:

  • >.NET 3.5下的网站项目
  • > Visual Studio 2010
  • >WCF 服务引用

问题:
我正在尝试扩展一个标有 DataContract 属性的类。虽然生成的类被声明为 partial,但我可以轻松地扩展它。我尝试在同一个命名空间内声明一个同名的分部类,但它似乎无法识别它扩展的是哪个类。我尝试找到生成的代码文件 (Reference.cs),我认为在阅读此 article 后存在该文件在引用文件夹中,但它不在那里。当试图导航到类的定义时,我发现它在编译库中,最大的问题是它没有被声明为部分的。
问题:
这种差异是否与我使用的是网站而不是网络项目有关?如果是这样,有没有办法让代码生成器(它似乎也编译生成的代码)将类声明为部分类?

最佳答案

是的,有一种方法可以将您的 DataContract 类声明为 Partial。

为此,您需要使用 DTO pattern .基本上这意味着在不同的程序集中定义“共享”类,并让服务和使用该服务的应用程序都使用您的公共(public)类引用程序集。

例如,您的“DTO”程序集可能包含一个名为“Product”的 DTO。好的,所以您将它们设为 Partial,然后装饰 Product,以及其他具有 WCF 属性的类,例如 DataContract 和 DataMember 等。

现在,您在服务项目和 Web 项目中引用 DTO 程序集。

现在,当您转到您的 Web 项目并单击“添加服务引用”时,单击“高级”,您会注意到您可以启用一个选项来“重新使用引用的程序集”。这样做,您将完全控制您的 DataContracts。

关于c# - 添加 WCF 服务引用不会生成代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3335288/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com