Подробные Ошибки, не работающие на Сервис WCF в IIS

То, что должно быть отмечено, что AMT предназначается как клиент технология OOBM не сервер один. Поэтому да, это может произойти что, что Ваш компьютер решает использовать порты AMT, но только в случае, если это Вы конкретно настроили его, чтобы сделать так. Большинство Ose идет с предварительно сконфигурированными эфемерными портами в диапазоне 49 152 - 65 535, как предложено спецификацией IANA, некоторыми дистрибутивами Linux с 32 768 - 61 000 и старым Windows с 1025†“5000.

Так с моей точки зрения это - сохранение для использования совместно использованного IP для AMT, так как его порты не находятся в эфемерном диапазоне (если Вы не знаете то, что Вы делаете и изменяете эти конкретные настройки), и не должен использоваться в качестве порта прослушивания никаким приложением.

2
задан 24 January 2013 в 19:44
2 ответа

Трассировка WCF может быть более сложной для настройки, чем обычные параметры web.config для веб-сайта IIS.

Если вы хотите, чтобы информация возвращалась клиенту (что следует делать только в процессе разработки), попробуйте параметр includeExceptionDetailInFaults:

  <system.serviceModel>
    <serviceBehaviors>
      <behavior name="metadataAndDebugEnabled">
        <serviceDebug
          includeExceptionDetailInFaults="true" />
        <serviceMetadata
          httpGetEnabled="true"
          httpGetUrl="" />
      </behavior>
    </serviceBehaviors>
  </system.serviceModel>

http://msdn.microsoft.com/en-us/library/system.servicemodel. servicebehaviorattribute.includeexceptiondetailinfaults.aspx

Однако гораздо более полезным инструментом является трассировка до файла, который можно обработать с помощью приложения Service Trace Viewer. Обычно он находится по адресу: C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.0A \ Bin \ svctraceviewer.exe на вашем компьютере, где установлен ваш Windows Development SDK.

Настройка трассировки
http://msdn.microsoft.com/en-us/library/ms733025.aspx

Средство просмотра служебной трассировки (SvcTraceViewer. exe)
http://msdn.microsoft.com/en-us/library/ms732023.aspx

Вы можете регистрировать активность транспортного уровня и, если у вас есть безопасность сообщений, активность сообщений. Обычно для каждого создается отдельный файл. Пример одного способа настройки:

<system.diagnostics>
  <sources>
    <!-- NOTE: change to switchValue="Warning" for production -->
    <!--source name="System.ServiceModel" switchValue="Warning" propagateActivity="true"-->      
    <source name="System.ServiceModel" switchValue="Warning, ActivityTracing" propagateActivity="true">
      <listeners>
        <add type="System.Diagnostics.DefaultTraceListener" name="Default">
          <filter type=""/>
        </add>
        <add name="ServiceModelTraceListener">
          <filter type=""/>
        </add>
      </listeners>
    </source>
    <!-- NOTE: change to switchValue="Warning" for production -->
    <source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing">
      <listeners>
        <add type="System.Diagnostics.DefaultTraceListener" name="Default">
          <filter type=""/>
        </add>
        <add name="ServiceModelMessageLoggingListener">
          <filter type=""/>
        </add>
      </listeners>
    </source>
  </sources>
  <sharedListeners>
    <add initializeData="C:\logs\app_tracelog.svclog" type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ServiceModelTraceListener" traceOutputOptions="Timestamp">
      <filter type=""/>
    </add>
    <add initializeData="C:\logs\app_messages.svclog" type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ServiceModelMessageLoggingListener" traceOutputOptions="Timestamp">
      <filter type=""/>
    </add>
  </sharedListeners>
</system.diagnostics>

Если все настроено правильно, файлы будут созданы. Когда возникает исключение, вы можете скопировать файл на компьютер, где установлен svctraceviewer, и открыть его. Обычно вы можете перейти к дате и времени, когда возникла проблема, и найти ее. Если вы просматриваете много действий, svctraceviewer имеет отличную фильтрацию. Исключения выделяются красным цветом на левой панели. Вы можете щелкнуть исключение, чтобы найти подробную информацию об исключении.

enter image description here

1
ответ дан 3 December 2019 в 13:02

Убедитесь, что параметр режима retail не установлено значение true в файле machine.config .

Это будет выглядеть примерно так:

<configuration>
    <system.web>
          <deployment retail=”true”/>
    </system.web>
</configuration>

Если установлено значение true, отладка и отслеживание запросов будут отключены, а пользовательские ошибки всегда включены. Установите значение false.

Чтобы получить путь к файлу machine.config, который используется средой выполнения, распечатайте его в ASP.NET следующим образом:

<%
string machineConfPath = 
  System.Runtime.InteropServices.RuntimeEnvironment.SystemConfigurationFile;
Response.Write("System configuration file: {0}", machineConfPath);
%>
0
ответ дан 3 December 2019 в 13:02

Теги

Похожие вопросы