当前位置:  开发笔记 > 编程语言 > 正文

无法找到WCF合同名称'IMyService'?

如何解决《无法找到WCF合同名称'IMyService'?》经验,为你挑选了6个好方法。

[ServiceContract] 在我的情况下失踪了.



1> Leblanc Mene..:

[ServiceContract] 在我的情况下失踪了.


哎呀!!!! 该死的一切都是地狱,......我每次都被这个时间所困扰!谢谢 :-)

2> masty..:

@Garry(有点晚了,我知道)

如果ServiceContract属性定义了ConfigurationName,则它应该是端点中的值,而不是完全限定名称.我现在就像OP所描述的那样遇到了这个问题,这对我来说就是解决方案.希望这可以帮助其他人偶然发现这一点.


这个答案帮助我解决了我的问题.契约接口上的`ServiceContractAttribute`定义了`Name`,`Namespace`和`ConfigurationName`的值.我在实现服务的web.config中的`endpoint`元素上更改了`name`,`bindingNamespace`和`contract`以匹配问题并解决了问题.

3> Overflew..:

这是一个稍微不常见的解决方案,适用于我的情况同样的错误:

可以使用以下属性覆盖合同命名空间:

[System.ServiceModel.ServiceContractAttribute([...], ConfigurationName = "IServiceSoap")]
public interface ISomeOtherServiceName

这需要:


而不是通常的(命名空间).ISomeOtherServiceName.

这可能是代码生成的结果,在我的例子中是WSCFBlue



4> Rajesh..:

service元素中的name属性和endpoint元素中的contract属性不正确.他们需要完全合格的名字:


      

将值更改为应解决错误的完全限定名称.



5> Garry..:

端点上的contract属性是否必须是完全限定的命名空间?


这也是我的问题的解决方案.令人困惑的是,许多在线示例都没有包含命名空间.

6> Usman Masood..:

是的,加里你是对的.端点中的契约应该是完全限定的名称


推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有