我有一个C#WCF项目 它有2个SVC文件。 Invoices.svc和Statements.svc。
它编译和构建没有问题。
语句继承自IStatements,所有方法/结果都通过单独的语句名称空间。
尽管如此,当我调用wsdl时,对Statements.svc文件,它会再次返回发票类。
C#项目可能加载不同于您请求的SVC文件的原因是什么?
我很难过。
答案 0 :(得分:0)
服务没有任何问题。当您添加服务引用时,默认情况下,WCF将查看您的项目,如果它找到的属性与WSDL中的属性相同,则将重用它们而不是创建新的。
如果两个服务都具有与DataContract具有相同属性的类,则要在客户端应用程序中添加的第二个类将使用生成的类作为第一个,因为它们匹配且可以重复使用。
要更改此行为(VS 2012或2013),您需要在添加服务引用时单击“高级”并选择第二个单选按钮“在指定的引用程序集中重用类型”,然后检查所有系统程序集并且不要检查你自己的项目。然后引用将创建它自己的类。
答案 1 :(得分:0)
很抱歉,在这种情况下,由于信息有点含糊不清,这个问题不是到目前为止所建议的。
该问题原来是Statements.SVC XML文件中提到了对IInvoices的引用。这是解决方案资源管理器默认不显示的一个文件,所以我原以为我更新了所有引用,但我没有。
感谢您的帮助。我不认为应该删除这个问题,因为它确实提供了检查SVC XML文件以获取参考的建议。
感谢。
答案 2 :(得分:0)
您必须对svc文件进行copypasted,因此一个svc引用其他服务类。检查svc文件的内容。