WCF网络Tcp绑定服务器拒绝超过5个连接
我已经编写并向一位客户推出了一款应用程序,它使用NetCpBinding进行通信 我有一个服务器应用程序,它接受客户端的订阅请求,然后将数据推送到客户端 客户端在站点上发现问题,一旦服务器连接了5个客户端,它就不再拒绝 以前有人见过这种行为吗?有人知道这可能是什么原因吗?它适用于较少的用户 我现在正试图自己诊断这个问题,但我是WCF的新手,所以我想知道是否有一些常见的解决方案来解决这类问题 我得到以下堆栈跟踪(清理以删除客户端名称和产品名称):WCF网络Tcp绑定服务器拒绝超过5个连接,wcf,Wcf,我已经编写并向一位客户推出了一款应用程序,它使用NetCpBinding进行通信 我有一个服务器应用程序,它接受客户端的订阅请求,然后将数据推送到客户端 客户端在站点上发现问题,一旦服务器连接了5个客户端,它就不再拒绝 以前有人见过这种行为吗?有人知道这可能是什么原因吗?它适用于较少的用户 我现在正试图自己诊断这个问题,但我是WCF的新手,所以我想知道是否有一些常见的解决方案来解决这类问题 我得到以下堆栈跟踪(清理以删除客户端名称和产品名称): 前面有几个问题: 在服务器端,您的配置是什么样子
前面有几个问题:
- 在服务器端,您的配置是什么样子的李>
- 服务器运行在什么操作系统下?(某些操作系统版本/版本有限制)
- 您如何在该服务器上托管WCF服务?(IIS与自托管)
servicetrottling
行为调整并发连接的数量,并且您可以定义
- 最大并发调用数
- 最大并发会话数(包括TCP/IP传输会话)
- 服务类实例的最大数量
<serviceBehaviors>
<behavior name="throttledService">
<serviceThrottling
maxConcurrentCalls="10"
maxConcurrentInstances="10"
maxConcurrentSessions="10"/>
</behavior>
前面有几个问题:
- 在服务器端,您的配置是什么样子的李>
- 服务器运行在什么操作系统下?(某些操作系统版本/版本有限制)
- 您如何在该服务器上托管WCF服务?(IIS与自托管)
servicetrottling
行为调整并发连接的数量,并且您可以定义
- 最大并发调用数
- 最大并发会话数(包括TCP/IP传输会话)
- 服务类实例的最大数量
<serviceBehaviors>
<behavior name="throttledService">
<serviceThrottling
maxConcurrentCalls="10"
maxConcurrentInstances="10"
maxConcurrentSessions="10"/>
</behavior>
这个应用程序没有WCF配置文件,因为我根据教程手工编写了WCF组件。我会看看是否有办法在代码中更改这些变量。绑定有一个MaxConnections属性,我正在尝试。谢谢您的帮助。好的,但是您是自托管(控制台应用程序、NT服务)还是在IIS中托管?它位于运行在windows Server 2003 R2 SP2标准版上的自托管NT服务中。由于我根据教程手工编写了WCF组件,因此此应用程序没有WCF配置文件。我会看看是否有办法在代码中更改这些变量。绑定有一个MaxConnections属性,我正在尝试。谢谢您的帮助。好的,但您是自托管(控制台应用程序、NT服务)还是在IIS中托管?它位于运行在windows Server 2003 R2 SP2标准版上的自托管NT服务中。
using (ServiceHost host = new ServiceHost(typeof(MyWCFService)))
{
ServiceThrottlingBehavior stb = new ServiceThrottlingBehavior();
stb.MaxConcurrentCalls = 25;
stb.MaxConcurrentInstances = 25;
stb.MaxConcurrentSessions = 25;
host.Description.Behaviors.Add(stb);
host.Open();
...
}