У меня проблемы с подключением к серверу WCF и клиентским соединениям.
Если я использую свой сервис и клиент в обычном режиме, то есть мой клиент подключается и отключается посредством обычных операций (myclient.Close ()), все работает нормально. Но в том случае, когда у меня запущен сервер и я использую кнопку «Стоп» визуальной студии для выхода из моего клиентского приложения, связь между моим сервером и клиентом, кажется, нарушена, и сервер не очищает соединение правильно и какие-либо новые соединения от моего клиента очень нестабильны, и работают только определенные вызовы функций, пока одна функция не выдаст исключение:
System.ServiceModel.CommunicationException: произошла ошибка при получении ответа HTTP на http: // localhost: 8080 / Design_Time_Addresses / Service_Beta1 / Service. Это может быть связано с тем, что привязка конечной точки службы не использует протокол HTTP. Это также может быть связано с прерыванием контекста HTTP-запроса сервером (возможно, из-за завершения работы службы). См. Журналы сервера для получения более подробной информации. ---> System.Net.WebException: базовое соединение было закрыто: при получении произошла непредвиденная ошибка.
И многие другие исключения после этого, и я избавлю вас от их чтения.
Если я выключу сервер и клиент и перезапущу оба, все мои вызовы будут работать нормально, пока я не сделаю решительный «Стоп» в Visual Studio. Как я могу заставить сервер очищать неправильно закрытые соединения? Я знаю, что в процессе производства кнопка «Стоп» отсутствует, и теоретически проблем быть не должно, но я не хочу, чтобы проблемы с подключением к серверу возникали из-за сбоев клиентов или плохих отключений. Потому что неизбежно будут такие случаи. Лучше всего исправить это сейчас, прежде чем у вас будет более 20 клиентов, пытающихся подключиться и получающих исключения.
Спасибо





Приносим извинения за то, что отправили ответ так долго. Моя проблема в том, что я возвращал данные клиенту, но не давал таблице имя при создании. См. ниже.
Dim dt As New DataTable() 'Passing just a blank un-named table to client gave errors.
Dim dt As New DataTable("Table") 'Naming the table like so passes just fine.