在Web.config中添加工作流扩展
问题描述:
如何在部署到IIS或AppFabric时在Web.config中配置自定义工作流扩展(如PersistenceParticipant后代)? (对于WF 4)在Web.config中添加工作流扩展
答
您可以在活动的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>
谢谢 - 工作!我认为你的意思是type =“MyWorkflowService.MyExtensionElement,MyWorkflowService”。 – TrueWill 2010-11-17 19:19:47
是的,你是对的,抱歉关于复制和部分错误。 – Maurice 2010-11-17 21:13:36