Я создал пользовательское поведение для использования со службой WCF для регистрации всех ошибок в журнале приложения.Я сделал BehaviorExtensionElement
для поведения:
public ErrorLoggingBehaviorExtensionElement : BehaviorExtensionElement
{
public ErrorLoggingBehaviorExtensionElement() { }
/* - Elements removed for brevity - */
}
Я пытаюсь применить это в моей конфигурации следующим образом:
<extensions>
<behaviorExtensions>
<add name="errorLogging"
type="ErrorLoggingBehaviorExtensionElement, Logging, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=56e8273d901d717f"/>
</behaviorExtensions>
</extensions>
<services>
<service name="TestService" behaviorConfiguration="TestServiceBehavior">
<endpoint address=""
binding="wsHttpBinding"
contract="Test_Service.ITestService"/>
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="TestServiceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<errorLogging />
</behavior>
</serviceBehaviors>
</behaviors>
ПРИМЕЧАНИЕ. Атрибут «type» элемента регистрации поведения фактически находится в одной строке в моем файле конфигурации, чтобы преодолеть эту известную проблему .Для ваших глаз добавлены разрывы строк.
При попытке просмотреть страницу службы возникает следующая ошибка приложения:
Произошла ошибка при создании обработчика раздела конфигурациидля system.serviceModel / поведение: для этого объекта не определен конструктор без параметров.
Удаление элемента <errorLogging />
делает ошибку исчезающей, но я не вижу, как она связана с сообщаемой ошибкой.