Сервисное закрытие канала направления WCF

Сообщение об ошибке следует:

Этот канал больше не может использоваться, чтобы послать сообщения как продукцию сессия была автозакрыта из-за начатого сервером закрытия. Также отключите авторядом с урегулированием DispatchRuntime. AutomaticInputSessionShutdown к ложному, или рассматривают изменение протокола закрытия с удаленным сервером.

Это происходит, когда я создаю веб-запрос к маршрутизатору WCF (wsHttpBinding или BasicHttpBinding к NetTcpBinding), и маршрутизатор тогда просит WinService. Как только WinService бросает Исключение, следующие запросы дает сообщение об ошибке выше. Это создается маршрутизатором WCF. Не было никакого решения нигде, я имею, проводят дни, находя один.

Связи с подобными проблемами без решения:

2
nl ja de

1 ответы

Рабочее решение, которое я сделал, следует:

    <прочный>
  • не бросает Исключение, бросает FaultException

Как сделать это:

  • В интерфейсе WinService определяет код ответа enum (пример после)
  [Система. CodeDom. Компилятор. GeneratedCodeAttribute ("svcutil", "3.0.4506.2152")]
[Система. SerializableAttribute ()]
[Система. Xml. Преобразование в последовательную форму. XmlTypeAttribute (AnonymousType = верный, Пространство имен = "вздор")]
общественный enum ErrorCode
{
    ОШИБКА
}
 

или просто

  общественный enum ErrorCode
{
    ОШИБКА
}
 
  • тогда вместо Исключения бросает определенный enum использования FaultException:

бросьте новый FaultException (ErrorCode. ОШИБКА, новый Фолтрисон ("вздор"), новый FaultCode ("Отправитель"));

  • И вот именно! Теперь можно отправить запрос, которые производят это исключение, и это не закрывает канал
2
добавлено
Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot