我有一个问题与本论坛中的很多其他问题非常相似,但是这些解决方案很适合我 - 也许是因为我没有得到它们。
我有一个非常简单的ASP.NET Web服务,只有4种简单的方法。为了测试它,我从一个新创建的控制台应用程序连接它,它工作绝对完美 - 只是添加了URL并让Visual Studio生成客户端代码(它生成了2个端点,我需要删除1才能使它成为工作,我猜这不重要。)
然后我尝试在User Control项目中做同样的事情(意味着它是一个类库)。然后它会突然抛出异常,并在此问题的标题中显示一条消息。
我在Visual Studio中本地运行用户控件项目,因为它仍在测试中。
我甚至尝试将服务模型部分从其他项目(它工作的地方)复制/粘贴到我的用户控件项目的app.config中 - 仍然无效。
有什么想法吗?
编辑:这是app.config文件的servicemodel部分
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="Service1Soap" />
</basicHttpBinding>
<customBinding>
<binding name="Service1Soap12">
<textMessageEncoding messageVersion="Soap12" />
<httpTransport />
</binding>
</customBinding>
</bindings>
<client>
<endpoint address="http://localhost:49737/Service1.asmx" binding="basicHttpBinding"
bindingConfiguration="Service1Soap" contract="ServiceReference1.Service1Soap"
name="Service1Soap" />
</client>
答案 0 :(得分:1)
对我来说,将serviceModel部分从我的类库复制到ASP.Net网站的web.config后,我仍然收到此错误。
一段时间后,我意识到你必须完全限定端点的contract属性,因为该服务位于具有不同命名空间的类库中。
即。在配置里面说... contract =“MyService.SoapService”等你需要完全限定这个... contract =“MyClassLibraryName.Namespace.MyService.SoapService”。
康纳
答案 1 :(得分:0)
@kevin johnson:我不确定'用户控制项目'是什么意思。将服务模型配置从工作项目粘贴到你的app.config不会工作,因为当你必须使用网络服务时,你要么必须使用app配置文件添加引用文件,该文件将从 svcutil.exe 生成,或者将Web服务添加到现有项目作为“服务引用”,永远不要尝试更改配置文件(应用程序。 config或web.config)除非你知道你在做什么。