Я проектирую службу WCF и клиента с обратным вызовом, используя именованный канал, когда сервер обрабатывает запрос от клиента, я получил ошибку № 109, и в итоге соединение канала было прервано.Ниже приведен файл трассировки со стороны сервера.В случае, если шрифт слишком мал, чтобы увидеть, я должен просто объяснить это:
Три исключения, отмеченные красным, произошли, когда запрос был сделан от клиента к серверу.Функция довольно проста, она передает одну строковую переменную на сервер.Эта ошибка # 109 (3 последовательных исключения, если это число что-то значит), и она не дает больше информации.И в этой деятельности трубное соединение в конце концов прервалось.Также, что странно, мы видим следующее действие после того, как «Полученные байты при соединении ...», «Обработка сообщения», оно фактически прошло, то есть обработка на стороне сервера была вызвана с переданным параметром.Это можно проверить в отладчике, потому что на стороне сервера операция получила передаваемую строку.Также внутри функции операции, если я попытаюсь
Dim callback = OperationContext.Current.GetCallbackChannel(Of ISSLServiceCallback)()
If DirectCast(callback, ICommunicationObject).State = CommunicationState.Opened Then
DoSomething()
End If
Это фактически входит в предложение If, которое, как я предполагаю, означает, что канал на самом деле пока жив.*