0

動作が設定されているかどうかは、次の方法で確認できます。

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

ServiceBehavior 属性内で特定のプロパティが定義および設定されているかどうかを確認するにはどうすればよいですか? たとえば、IncludeExceptionDetailInFaults:

[ServiceBehavior(IncludeExceptionDetailInFaults = true)]
4

1 に答える 1

0

実際には簡単でした。属性をキャストしてから、プロパティを確認する必要がありました。

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
{ }

これが誰かに役立つことを願っています。

于 2015-11-13T20:29:11.477 に答える