Как сделать так, чтобы параллельная работа службы wcf работала? - PullRequest
0 голосов
/ 12 декабря 2018

Я новичок в wcf, я одновременно запросил 10, чтобы проверить мой сервис wcf, но просто случайный ответ , 3,7,1, иногда даже нет ответа.Я много искал и заполнил некоторый код в web.config, установил currencymod, instancemode, но результат все еще не изменился. Я надеюсь, что кто-то может помочь проверить мой код.

соответствующий код в сервисе wcfweb.config

<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpRuntime />
<pages controlRenderingCompatibilityVersion="4.0" /></system.web>
<endpoint address="" binding="basicHttpBinding" contract="ADGrainWcfService.ISQLiteHelperService" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />

  <behaviors>
  <serviceBehaviors>
    <behavior>

      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />

      <serviceDebug includeExceptionDetailInFaults="true" />
    <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
      <serviceThrottling maxConcurrentCalls="200" maxConcurrentSessions="5000" maxConcurrentInstances="200" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<protocolMapping>
  <add binding="basicHttpsBinding" scheme="https" />
</protocolMapping>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
<bindings>
        <basicHttpBinding>      
<bindingname="basicHttpBinding"closeTimeout="00:30:00"openTimeout="00:30:00" receiveTimeout="00:30:00" sendTimeout="00:30:00"transferMode="Buffered"hostNameComparisonMode="StrongWildcard"
 maxBufferPoolSize="2147483647" maxBufferSize="2147483647"
 maxReceivedMessageSize="2147483647">
  </binding>

 </basicHttpBinding>
</bindings>

<system.net>
 <connectionManagement>
  <add address="*" maxconnection="200"/>
 </connectionManagement>
</system.net>

код службы:

[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerCall,ConcurrencyMode =ConcurrencyMode.Multiple)]
  public class WithDrawService : IWithDrawService
  {

       int IWithDrawService.TestConcurrent()
       {
          return 1;
       }
  }

эта служба была развернута на сервере Windows 2008 r2, который имеет 2048 МБ памяти

Я нашел "set ServicePointManager.DefaultConnectionLimit "может решить мою проблему, но я не знаю, где мне ее установить.я попытался установить его в своем конструкторе класса обслуживания и клиенте, но без эффектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...