Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WCF网络Tcp绑定服务器拒绝超过5个连接_Wcf - Fatal编程技术网

WCF网络Tcp绑定服务器拒绝超过5个连接

WCF网络Tcp绑定服务器拒绝超过5个连接,wcf,Wcf,我已经编写并向一位客户推出了一款应用程序,它使用NetCpBinding进行通信 我有一个服务器应用程序,它接受客户端的订阅请求,然后将数据推送到客户端 客户端在站点上发现问题,一旦服务器连接了5个客户端,它就不再拒绝 以前有人见过这种行为吗?有人知道这可能是什么原因吗?它适用于较少的用户 我现在正试图自己诊断这个问题,但我是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();

    ...
}