Как проверить на IncludeExceptionDetailInFaults

Я могу проверить, установлено ли поведение с помощью:

Attribute.GetCustomAttribute(typeof(MyService), typeof(ServiceBehavior))

Как проверить, определено ли определенное свойство в атрибуте ServiceBehavior? например IncludeExceptionDetailInFaults:

[ServiceBehavior(IncludeExceptionDetailInFaults = true)]

1 ответ

На самом деле это было просто, мне нужно было разыграть атрибут, а затем проверить свойство:

Attribute behavior = Attribute.GetCustomAttribute(myService.GetType(), typeof(ServiceBehaviorAttribute));
if (behavior != null)
{
    if (!((ServiceBehaviorAttribute)behavior).IncludeExceptionDetailInFaults)
    {
        throw new Exception(); // or whatever
    }
}

Сервис будет что-то вроде:

[ServiceBehavior(IncludeExceptionDetailInFaults = true)]
public class MyService
{ }

Надеюсь, это кому-нибудь поможет.

Другие вопросы по тегам