协定需要会话,但是绑定“BasicHttpBinding”不支持它或者因配置不正确而无法支持它

 更新时间:2012年12月29日 10:41:41   作者:  
在IIS7及以上版本服务器中提供了基于WAS的无.SVC文件的WCF服务激活功能,能够提供基于HTTP和非HTTP协议的访问,通过添加Windows Server AppFabric可以更方便的管理WCF服务
对于无.SVC文件的配置只需要指定以.svc结尾的相对地址和服务实现的完整名称即可。可问题恰恰出在这里,之前需要在<system.serviceModel>

复制代码 代码如下:

<services>
<host>
<baseAddresses>
<add baseAddress="http://localhost:10045/TestService/TestService" />
<add baseAddress="net.tcp://localhost:10046/TestService/TestService" />
</baseAddresses>
</host>
<endpoint address="" 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>
<add scheme="http" binding="wsHttpBinding" bindingConfiguration="WsHttpSession"/>
</protocolMapping>

协议映射配置,这样服务器在接收到http协议的请求时 会按照所设置的binding进行处理而不再是默认binding了。

相关文章

  • C#难点逐个击破(4):main函数

    C#难点逐个击破(4):main函数

    貌似我是在写C#的学习笔记哦,不过反正可以利用这个机会来好好温习下基础知识,这其中很多知识点都属于平时视而见的小知识
    2010-02-02
  • C#实现大数字运算的实例代码

    C#实现大数字运算的实例代码

    这篇文章介绍了C#实现大数字运算的实例代码,有需要的朋友可以参考一下
    2013-10-10
  • 深入理解C#指针之美

    深入理解C#指针之美

    在C#中,有时候希望通过指针来操作内存,这样可以提高效率。我们可以用unsafe关键字修饰含有指针操作的程序段,感兴趣的小伙伴可以参考一下,希望可以帮到你
    2021-07-07
  • C#简易人机对抗“石头剪刀布”游戏的实现

    C#简易人机对抗“石头剪刀布”游戏的实现

    本文主要介绍了C#简易人机对抗“石头剪刀布”游戏的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • C# 注册表 操作实现代码

    C# 注册表 操作实现代码

    Windows 操作系统的注册表包含了很多有关计算机运行的配置方式,打开注册表我们可以看到注册表是按类似于目录的树结构组织的
    2009-07-07
  • C#把dll分别放在指定的文件夹的方法步骤

    C#把dll分别放在指定的文件夹的方法步骤

    本文主要介绍了C#把dll分别放在指定的文件夹的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • C#使用Socket实现服务器与多个客户端通信(简单的聊天系统)

    C#使用Socket实现服务器与多个客户端通信(简单的聊天系统)

    这篇文章主要介绍了C#使用Socket实现服务器与多个客户端通信(简单的聊天系统),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • C#私有构造函数使用示例

    C#私有构造函数使用示例

    本文主要介绍了C#私有构造函数使用方法,私有构造函数是一种特殊的实例构造函数。它通常用在只包含静态成员的类中。如果类具有一个或多个私有构造函数而没有公共构造函数,则其他类(除嵌套类外)无法创建该类的实例
    2014-01-01
  • c#递归遍历文件夹示例

    c#递归遍历文件夹示例

    这篇文章主要介绍了c#递归遍历文件夹示例,需要的朋友可以参考下
    2014-03-03
  • 详解C#中普通缓存的使用

    详解C#中普通缓存的使用

    缓存的概念及优缺点在这里就不多做介绍,当然缓存包含多种有普通缓存、客户端缓存、DNS缓存、反向代理缓存以及分布式缓存等等。今天主要聊一聊C#通过编码来实现普通的缓存、话不多说直接上代码。
    2021-05-05

最新评论