ich hab einen WCF Service mit
ConcurrencyMode = ConcurrencyMode.Single und
InstanceContextMode = InstanceContextMode.PerCall
mit einem WsHttpBinding (einzigste änderung: höhere maxReceivedMessageSize)
Nun hab ich am Client
var cf = new ChannelFactory<contract>();
var channel = cf.CreateChannel();
for (int i = 0; i < 50000; i++){
channel.machwas();
}
((System.ServiceModel.Channels.IChannel)channel).Close();
In der Annahme, dass derselbe Channel benutzt wird. Nun erhalte ich aber nach einiger Zeit eine Exception, dass kein Endpunkt an meiner Adresse hört.
Schaue ich mir netstat -a an, sehe ich dass wohl alle Ports in gebrauch sind.
Wo liegt mein Denkfehler? Was muss ich ändern?
Den ConcurrencyMode oder InstanceContextMode kommt nur dann in Frage, wenn im Endeffekt jeder Channel seine eigene Instanz des Service Serverseitig bekommt. Würde InstanceContextMode.Single dies noch erzielen?