Мы используем службы WCF, размещенные на IIS на среднем уровне, и используем клиент WPF.Мы видим эти ошибки в наших производственных журналах.От Google я указал на ссылку здесь http://kennyw.com/indigo/150, которая ясно говорит, что эта ошибка связана с MaxConcurrentSessions.
В подробностях производственного журнала ниже говорится, что ошибка происходит, когда клиент WPF пытается открытьПодключение прокси WCF с использованием ICommunicationObject.Open () Эта ошибка в нашей производственной системе происходит очень часто, но я не могу воспроизвести эту ошибку на моей локальной установке.Я попытался изменить значение MaxConcurrentSessions на 1, а затем открыл 5 экземпляров приложения WPF. В приложении WPF на панели мониторинга по умолчанию каждые 1 минуту выполняется таймер, пытающийся получить данные, но я все еще не могу воспроизвести эту ошибку.
Мой вопрос на самом деле, когда возникает эта ошибка, по ссылке выше написано, что это происходит, когда сервер перегружен, но в моем тестовом примере выше он должен был быть загружен.Мне также нужно иметь возможность воспроизвести это, чтобы даже попытаться исправить.
Любые идеи, если я нахожусь на правильном пути, является ли MaxConcurrentSessions подходящим местом для изучения и как мне моделировать это на локальном компьютере.Пожалуйста, помогите.
2/16/2012 4:10:40 PM:Information:Exception in the ServiceCall constructor: System.ServiceModel.CommunicationException:
The socket connection was aborted.
This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue.
Local socket timeout was '00:00:59.9687730'. --->System.Net.Sockets.SocketException:
An existing connection was forcibly closed by the remote host at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags) at System.ServiceModel.Channels.SocketConnection.ReadCore(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout, Boolean closing)
--- End of inner exception stack trace ---
Server stack trace:
at System.ServiceModel.Channels.SocketConnection.ReadCore(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout, Boolean closing)
at System.ServiceModel.Channels.SocketConnection.Read(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout)
at System.ServiceModel.Channels.DelegatingConnection.Read(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout)
at System.ServiceModel.Channels.ConnectionUpgradeHelper.InitiateUpgrade (StreamUpgradeInitiator upgradeInitiator, IConnection& connection, ClientFramingDecoder decoder, IDefaultCommunicationTimeouts defaultTimeouts, TimeoutHelper& timeoutHelper)
at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.SendPreamble(IConnection connection, ArraySegment`1 preamble, TimeoutHelper& timeoutHelper)
at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.DuplexConnectionPoolHelper.AcceptPooledConnection(IConnection connection, TimeoutHelper& timeoutHelper)
at System.ServiceModel.Channels.ConnectionPoolHelper.EstablishConnection(TimeSpan timeout)
at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)