WCF-Eigenschaft maxConnections
Habe ich einen WCF-Dienst geschrieben .net 4, ausgesetzt und über net.tcp. Jedes mal, wenn ich versuchen, die MaxConnections Eigenschaft der binding-Konfiguration, um etwas höher als 10 bin ich AddressAlreadyInUseException.
Warum eigentlich immer geworfen auf die MaxConnection-Einstellung?
(wenn es darauf ankommt, ich bin auf Server 2008 R2 Standard mit einer 4 Kern CPU und 4 gb ram)
<binding name="NetTcpBinding" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
transferMode="Buffered" hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288" maxBufferSize="25000000"
maxReceivedMessageSize="25000000" maxConnections="50">
<readerQuotas maxDepth="32" maxStringContentLength="25000000"
maxArrayLength="25000000" maxBytesPerRead="25000000" maxNameTableCharCount="25000000" />
<security mode="None" />
</binding>
<service behaviorConfiguration="ApiService.ServiceBehavior" name="Api.Service.PlatformApiService">
<endpoint
address="/Search"
binding="netTcpBinding"
bindingConfiguration="NetTcpBinding"
contract="IApiService" />
<endpoint
address="mex"
binding="mexTcpBinding"
bindingConfiguration="NetTcpBinding"
contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:8094/Api/" />
</baseAddresses>
</host>
</service>
InformationsquelleAutor Joe | 2010-09-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre mex-Endpunkt definiert binding-Konfiguration, die nicht Bestandteil Ihrer Konfiguration snippet.
MaxConnection definiert pooling von verbindungen für den angegebenen port. Im moment sind Sie mit zwei Endpunkten, die eine gemeinsame single-port - ApiService und Metadaten-Endpunkte. Bevor Sie änderungen, die Einstellung Ihrer Bindung-Konfiguration sowohl enpoints verwendet default - Wert- 10 verbindungen in einem pool. Wenn Sie geändert haben den Wert, den es betroffen, die nur einen Endpunkt zweiten Endpunkt noch Ansprüche 10 verbindungen => Ausnahme. Die Lösungen sind:
Mindestens erste Idee sollte funktionieren.
InformationsquelleAutor Ladislav Mrnka
verwenden binding="netTcpBinding", nicht mexTcpBinding, so dass die beiden Endpunkte kann shahre die gleichen netTcpBinding-Konfiguration.
Der maxConnections Wert können die gleichen sein!
InformationsquelleAutor gfan