【问题标题】:.Net 2.0 consuming WCF.Net 2.0 消耗 WCF
【发布时间】: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


【解决方案1】:

是的,我今天刚做了。

  • 使用BasicHttpBinding 定义 WCF 服务
  • 在您的客户端上,添加 Web 引用,它将创建一个 SoapClient
  • 如果您需要安全性,则需要使用 WSE 2.0 SP3。

我的案例需要使用 SSL 的明文用户名/密码,我很高兴使用 this 让它工作。

【讨论】:

  • 你的观点对我帮助很大,但我支持你并标记为答案,因为它对其他需要的人非常有用。我设法让我的工作,虽然我不知道出了什么问题。我找到了 svceditor,删除了 webconfig 的部分并使用 svceditor 添加了它。它可以工作,但代码似乎完全相同
猜你喜欢
  • 2011-07-04
  • 2013-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-02
相关资源
最近更新 更多