【问题标题】:WCF reference.cs suddenly not including classesWCF reference.cs 突然不包括类
【发布时间】:2011-12-17 04:10:25
【问题描述】:

我开发了一个 WCF 服务,该服务已经运行了几个星期。我直接从开发服务器将此服务发布到 IIS。我有一个开发测试应用程序,该应用程序将此 WCF 服务作为服务引用包含在其自己的项目中。

我的 WCF 类库还引用了 Visual Studio 解决方案中的另一个项目,并且服务和调用应用程序使用的许多类都在引用的项目中。

今天,在发布了对服务的一些更改后(我没有对引用的项目或其类进行任何更改),被引用项目中大约 20 个类中的三个不再在我的测试应用的服务引用中.我不能再在代码中使用它们,并且它们不再在 Reference.cs 中。我仔细检查了,有问题的类仍然用 [DataContract] 装饰,并且服务解决方案中的属性都仍然用 [DataMember] 装饰。

一切都在 Visual Studio 中构建 OK.. 我已经重建并重新发布了所有内容,缺少的类已设置为编译,我尝试了 IIS 重置,完全删除了 IIS 站点并进行了干净的重新发布,但无济于事。我已经尝试删除测试应用程序上的服务引用,并且每次都获得一个干净的代理。什么都没有。

然后我尝试在引用的项目中制作一个dummy class并内置它。再次重新发布服务,甚至这个dummy class都没有出现在Reference.cs中。我完全不知道为什么这些类在发布后没有包含在引用项目的 .dll 中,因为很明显在 Visual Studio 中一切都可以正常构建。

【问题讨论】:

    标签: c# visual-studio wcf


    【解决方案1】:

    我面临这样的问题。 以下步骤可以帮助您 1.右键单击服务(在项目的服务参考部分) 2. 在更新服务参考点击高级 3.按附图做。

    【讨论】:

    • 这并没有解决问题。尝试检查所有内容或仅检查系统
    • 太棒了!这非常有效!谢谢!我仍然感到失望和困惑,但并不感到惊讶,因为您必须跳过许多 MS 开发工具的怪圈。
    • 像魅力一样工作 ;-) 谢谢
    【解决方案2】:

    想回来发布导致我的问题的原因:

    我进行了更改,并且我的服务方法都不再使用 3 个“缺失”类作为返回类型或参数。我只需要取消注释使用这些类的方法以使它们再次可用。现在说得通了,但我确信还有其他问题。

    【讨论】:

      【解决方案3】:

      我遇到了类似的问题并通过执行以下操作解决了它。

      使用 mexHttpsBinding 添加您的端点地址。 例如,让我们将地址视为 mex

      在配置服务参考时,将 /mex 添加到服务 URL 的末尾。

      https://service.domain.com/serivce1.svc/mex

      这将启用元数据交换。因此 Reference.cs 将被修改/添加(如果您是第一次添加服务引用)。

      请确保您的服务有一个带有 mexHttpBinding / mexHttpsBinding 的端点

      编辑:经过分析,我发现当服务通过两个以上端点(包括 mex 端点)公开时会发生此问题

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多