我有一个WCF服务,我希望客户能够使用Visual Studio的“添加服务引用”功能进行引用。他们已经能够识别元数据端点,接口,方法和数据类型出现在“添加服务引用”对话框中,它似乎可以顺利地成功生成代理 - 但是在查看生成的代码文件或查看类中时对象浏览器,没有从ServiceContract生成的服务接口 - 仅表示DataContracts。当我从命令行将svcutil指向同一个端点URL时,生成的文件 包含接口。
更新 似乎导致问题的是我在某种程度上忽略的问题,即此接口上的某些方法存在FaultContracts,并且这些FaultContracts引用了一个异常类型,即[Serializable],而不是[DataContract](就像我一样)认为任何源自Exception的东西必须是)。异常类型本身在生成的代码中表示,但其公共属性不是(在svcutil或ASR生成的代码中)
答案 0 :(得分:0)
似乎导致问题的是我在某种程度上忽略的问题,即此接口上的某些方法存在FaultContracts,并且这些FaultContracts引用了一个异常类型,即[Serializable],而不是[DataContract] (因为我认为任何源自Exception的东西都必须如此)。异常类型本身在生成的代码中表示,但其公共属性不是(在svcutil或ASR生成的代码中)