【发布时间】:2011-03-09 01:41:59
【问题描述】:
我正在使用 .Net 2.0 Web 应用程序和 WCF 进行项目。 如果我按默认配置使用 WCF,当 .Net 2.0 项目调用其方法时,它会为不受支持的 SOAP 消息引发异常。
看了一下发现有人提到WCF需要把绑定改成BasicHttpBinding ->http://msdn.microsoft.com/en-us/library/ms731134.aspx
试过了,因为我在 IIS 中托管,所以我没有像下面的示例那样进行 BasicHttpBinding 实例化。
// Create a BasicHttpBinding instance
BasicHttpBinding binding = new BasicHttpBinding();
但是这一次,我什至无法运行 WCF 服务。当我使用右键单击运行时,在浏览器中查看,我得到一个页面
“服务名称”的应用为零 (非基础设施)端点
我的 WCF 网络配置与我提供的链接完全相同,只是我更改了合同以适合我的文件。
任何有经验愿意提供帮助的人? 谢谢
web.config
<system.serviceModel>
<services>
<service name="MyService" behaviorConfiguration="HttpGetMetadata">
<endpoint address="" contract="MyContractName" binding="basicHttpBinding" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="HttpGetMetadata">
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
【问题讨论】:
-
您需要分享您的配置以便我们提供帮助。
-
基本上配置文件是创建新WCF项目时的默认配置,我在这里添加了example。只更改了合约名称
-
向我们展示代码和配置,否则我们无能为力。
-
@John,我认为既然 RQSQ 和你都想帮忙,我只是发布了配置。但是我通过删除 web.config 的服务部分来使其工作,并使用 svceditor 添加。之后工作正常。
标签: c# wcf asp.net-2.0