ответ

5

Вы можете сделать это в CacheMetadata активности или через поведение службы следующим образом.

Создайте IServiceBehavior, чтобы добавить расширение и элемент BehaviorExtensionElement для загрузки IServiceBehavior.

public class MyExtensionElement : BehaviorExtensionElement 
{ 
    public override Type BehaviorType 
    { 
     get 
     { 
      return typeof(MyExtensionBehavior); 
     } 
    } 
    protected override object CreateBehavior() 
    { 
     return new MyExtensionBehavior(); 
    } 
} 

public class MyExtensionBehavior : IServiceBehavior 
    { 
    public void ApplyDispatchBehavior(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase) 
    { 
     var host = (WorkflowServiceHost)serviceHostBase; 
     host.WorkflowExtensions.Add<MyExtension>(() => new MyExtension()); 
    } 
} 

Следующая зарегистрировать его в качестве behaviorExtensions в конфигурации и использовать в в вашем поведении услуг

<system.serviceModel> 
    <extensions> 
     <behaviorExtensions> 
      <add name="myExtension" 
       type="MyWorkflowService.MyExtensionElement, MyWorkflowService"/> 
     </behaviorExtensions> 
    </extensions> 
    <behaviors> 
     <serviceBehaviors> 
      <behavior> 
       <myExtension/> 
      </behavior> 
     </serviceBehaviors> 
    </behaviors> 
</system.serviceModel> 
+0

Спасибо - сработало! Я думаю, вы имеете в виду тип = «MyWorkflowService.MyExtensionElement, MyWorkflowService». – TrueWill

+0

Да, вы правы, извините за ошибку копирования и части. – Maurice

Смежные вопросы