对于无.SVC文件的配置只需要指定以.svc结尾的相对地址和服务实现的完整名称即可。可问题恰恰出在这里,之前需要在<system.serviceModel>
代码如下:
<services>
<host>
<baseAddresses>
<addbaseAddress=”https://localhost:10045/TestService/TestService”/>
<addbaseAddress=”net.tcp://localhost:10046/TestService/TestService”/>
</baseAddresses>
</host>
<endpointaddress=””binding=”wsHttpBinding”bindingConfiguration=”WsHttpSession”contract=”xxx.xxx.IConnectService”/>
</services>
这种配置方式对于特定的协议明确的指定了终结点的binding,但是用无.svc配置方式的终结点是由AppFabric生成的不需要在配置文件中配置,对于绑定只提供了基于界面配置的方式并且没有明确指定绑定的具体类型。像如上这个问题就是因为开发的WCF需要会话,而基于HTTP协议的默认绑定BasicHttpBinding不支持会话所致,那么如何解决这个问题,只需要修改http协议的默认绑定即可。
解决方法:
在web.config配置文件中找到<system.serviceModel>段。
在<system.serviceModel></system.serviceModel>之间加上
代码如下:
<protocolMapping>
<addscheme=”http”binding=”wsHttpBinding”bindingConfiguration=”WsHttpSession”/>
</protocolMapping>
协议映射配置,这样服务器在接收到http协议的请求时会按照所设置的binding进行处理而不再是默认binding了。 您可能感兴趣的文章:httpbasicauthentication通过post方式访问api示例分享basic认证示例
c语言生成随机数的方法(获得一组不同的随机数)
linux c语言操作数据库(连接sqlite数据库)
上述就是C#学习教程:协定需要会话,但是绑定“BasicHttpBinding”不支持它或者因配置不正确而无法支持它分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/904387.html