Подключение к веб-сервису WCF получает ошибку 503 - PullRequest
1 голос
/ 22 февраля 2010

У меня есть служба WCF, размещенная как служба Windows. Сервер, на котором он работает, работает под управлением IIS6.

Время от времени клиенты сообщают об ошибке 503 Service Unavailable. Я не вижу никаких проблем на стороне сервера: я вижу журнал, который ожидаю от самой службы, в журналах событий приложений или системы нет записей.

Клиенты повторяют попытку и, как правило, добиваются успеха, поэтому, кроме того, что я предлагаю разработчикам, ответственным за клиентское приложение, автоматически повторять попытки, когда их код получает ошибку 503, существует простой способ для моего процесса отслеживать IIS и сообщил, что его ответ вызвал ошибку?

Итак, я преследую одну из следующих вещей:

  1. Можно ли вызвать вызов процесса WCF в IIS для получения кода состояния?
  2. Могу ли я получить службу IIS для сообщения об ошибке 503 в журнале событий (или с функцией обратного вызова) для процесса WCF, каким-либо образом информированного?
  3. Если я просто получу клиентский код, чтобы справиться с ситуацией, в конце концов, попытки в целом будут успешными.

1 Ответ

2 голосов
/ 22 февраля 2010

Когда вы размещаете службу WCF в качестве службы Windows, вы больше не полагаетесь на IIS. Я предполагаю, что единственная общая часть - это стек протоколов HTTP.SYS. Я бы посоветовал вам активировать вход в файл конфигурации сервиса, который предоставит вам обширную информацию:

<system.diagnostics>
    <trace autoflush="true" />
    <sources>
        <source name="System.ServiceModel" 
                switchValue="Information, ActivityTracing"
                propagateActivity="true">
            <listeners>
               <add name="sdt" 
                    type="System.Diagnostics.XmlWriterTraceListener" 
                    initializeData= "WcfDetailTrace.svclog" />
            </listeners>
        </source>
    </sources>
</system.diagnostics>

, а затем используйте SvcTraceViewer.exe для анализа полученных данных журнала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...