У меня есть плагин, который предоставляет услугу wcf. если я тестирую эту службу с помощью WCFStorm, все работает нормально. Я сразу получаю ответ. Когда я пытаюсь использовать службу из приложения, загружающего плагин, я получаю тайм-аут.Время ожидания службы WCF
ProgrammingMaster_ServiceClient aClient = new ProgrammingMaster_ServiceClient();
aClient.Endpoint.Address = new EndpointAddress("http://localhost:8081/ProgrammingMaster/PM_Service");
aClient.BeginProgrammingSession(0x01);
aClient.Close();
Это код, который я использую для использования службы. ProgrammingMaster_SErviceClient генерируется svcutil.exe.
я получаю ту же проблему, если я удалить строку
aClient.Endpoint.Address = new EndpointAddress("http://localhost:8081/ProgrammingMaster/PM_Service");
Я не совсем уверен, где я должен искать, чтобы начать отладку этого.
вызываемая услуга отправляет сообщение в другой сети. Когда я вызываю его через wcfstorm, я вижу сообщение, отправляемое службой. поэтому я знаю, что сервис работает правильно.
Что я делаю неправильно, когда я вызываю службу из своего приложения, что вызывает тайм-аут.
Редактировать: после истечения времени ожидания (я ломаю и регистрирую исключение) служба отправляет свое сообщение в другую сеть, как предполагалось.
Редактировать 2: Надеюсь, это лучшее объяснение.
У меня есть плагин, который предоставляет веб-службу и потребляет другую веб-службу. Таким образом, плагин в основном подключается к объекту в специальной сети, а затем передает значения свойств объектов, потребляя веб-службу.
У меня есть приложение, которое предоставляет веб-службу, которую плагин использует для предоставления обновлений значений удаленных объектов, и потребляет веб-сервис, открытый плагином для передачи команд удаленному объекту.
Нет проблем с таймаутом, когда плагин отправляет обновления в приложение. Я получаю ошибку тайм-аута, когда приложение использует веб-службу для отправки команды удаленному объекту через плагин. По истечении таймаута выполняется команда. Таким образом, веб-сервис вызывается успешно. Наверное, я просто не получаю ответа?
Редактировать 3: вот мой конфигурационный файл приложения. Я снизил тайм-аут отправки до 00:00:01, так что ожидание не так долго, но я бы очень хотел его исправить, поэтому он не должен таймаутом каждый раз.
<?xml version="1.0"?>
<configuration>
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_IProgrammingMaster_Service" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:00:01" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
<reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>
<security mode="Message">
<transport clientCredentialType="Windows" proxyCredentialType="None" realm="">
<extendedProtectionPolicy policyEnforcement="Never"/>
</transport>
<message clientCredentialType="Windows" negotiateServiceCredential="true" algorithmSuite="Default" establishSecurityContext="true"/>
</security>
</binding>
</wsHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:8081/ProgrammingMaster/PM_Service" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IProgrammingMaster_Service" contract="IProgrammingMaster_Service" name="WSHttpBinding_IProgrammingMaster_Service">
<identity>
<userPrincipalName value="[email protected]"/>
</identity>
</endpoint>
</client>
</system.serviceModel>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>
Вы пытались использовать Fiddler, чтобы узнать, что происходит? – Gabe
no Я никогда не слышал об этом раньше. Я сейчас посмотрю на это спасибо. – scott
@Gabe - Я ничего не вижу в скрипаче, хотя я могу просто использовать его неправильно. – scott