Проверьте свойства / поведение контракта на обслуживание и эксплуатацию - PullRequest
1 голос
/ 02 марта 2011

Каков метод знания свойств / поведения операций и служб программным способом.

Например: из операции я хотел бы напечатать AddressFilterMode, ConcurrencyMode и т. Д. Службы, а также Impersonation, TransactionAutoCompleteи др. свойства Операции.

Ответы [ 2 ]

2 голосов
/ 02 марта 2011

Вам необходимо получить экземпляры get ServiceBehaviorAttribute и DispatchOperation и использовать их свойства.

var serviceBehavior = OperationContext.Current.Host.Description.Behaviors.Find<ServiceBehaviorAttribute>();

var operations = OperationContext.Current.EndpointDispatcher.DispatchRuntime.Operations;
string currentOperationAction = OperationContext.Current.IncomingMessageHeaders.Action;
DispatchOperation currentOperation = ( from o in operations
                                       where o.Action == currentOperationAction
                                       select o ).FirstOrDefault();
1 голос
/ 02 марта 2011

Этот метод называется Отражение .Вы получите текущий тип (сервис) и изучите его атрибуты => вы получите, например, режим фильтра адресов, режим параллелизма и контекстный режим экземпляра.Вы можете сделать то же самое для работы, контракта на обслуживание и т. Д.

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