Wcf Wshttpbinding已转换为basic
我的WCF服务由两个项目组成:Wcf Wshttpbinding已转换为basic,wcf,wshttpbinding,Wcf,Wshttpbinding,我的WCF服务由两个项目组成: WCF服务库 WCF Web应用程序 第一个项目有一个由MyService实现的服务调用IMyService。它是通过使用WS-binding配置的,如果我在这个项目上按F5,WCFTestClient将呈现WS-binding。 在web应用程序中,我有一个.svc文件,其中包含同名的标记 <%@ ServiceHost Language="C#" Debug="true" Service="[Namespace].MyService" %>
<%@ ServiceHost Language="C#" Debug="true" Service="[Namespace].MyService" %>
如果我在这个项目上按F5键,它会呈现一个BasicHttpBinding。在客户端也是如此。
为什么?您的配置文件是如何配置的?如果将端点配置为使用wshttpbinding,则应使用此端点 您是否介意在这里添加一些代码(包括配置文件中的绑定和端点详细信息),以便我们可以查看一下 谢谢,
Roberto Lopes。我刚刚检查了WCF服务库项目在默认情况下是否使用用于默认服务的
WSHttpBinding
创建app.config。运行WCFTestClient时,它始终使用此本地配置。如果要使用WCFTestClient测试其他服务,则必须将其配置添加到此配置中。此配置从未用于任何其他用途
WCF服务应用程序使用web.config。在WCF 4.0中,它使用简化的配置,根据一些预定义的条件添加端点。默认情况下,它会将
BasicHttpBinding
端点添加到通过HTTP公开的所有服务中,使用commonServiceHostFactory
我认为原始问题提出得非常糟糕,要获得满意的答案,您需要清楚地说明所有细节
首先,您使用的是哪个版本的Visual Studio?既然没说什么,我就假设它是带有SP1的最新版本VS2010
假设您有一个VisualStudio解决方案,它有两个项目,一个是WCF服务库,另一个是WCF应用程序,这两个项目都是使用默认项目模板创建的,没有任何手动调整
- WCF服务库将有一个app.config文件,其中包含以下行:
- 但是,WCF服务应用程序项目将有一个不包含显式端点定义的web.config文件,在这种情况下,使用的默认端点绑定是basicHttpBinding
/客户端:“WcfTestClient.exe”如果您想了解详细信息,请使用评论。感谢您提供的有用答案。您能告诉我如何强制web项目使用WS端点分发服务吗?如果我尝试这样做,它仍然指向基本地址,我会收到SOAP错误匹配错误(1.1而不是1.2)