【发布时间】:2015-01-15 19:41:49
【问题描述】:
我正在编写一个 WF4 服务,我需要执行一些初始化(例如初始化 log4net)。在普通服务中,我只会修改 global.asax,但 WF4 服务中没有这样的文件。那么我应该把这个初始化放在哪里呢?
这一定是一件简单的事情,但到目前为止我在 SO 或其他地方找不到任何答案。叹息。
【问题讨论】:
标签: workflow-foundation-4 workflowservice
我正在编写一个 WF4 服务,我需要执行一些初始化(例如初始化 log4net)。在普通服务中,我只会修改 global.asax,但 WF4 服务中没有这样的文件。那么我应该把这个初始化放在哪里呢?
这一定是一件简单的事情,但到目前为止我在 SO 或其他地方找不到任何答案。叹息。
【问题讨论】:
标签: workflow-foundation-4 workflowservice
在大多数情况下,我只是在执行初始化的工作流的最开始使用自定义活动。
有关更详细的场景,您可以查看System.ServiceModel.Activities.Activation.WorkflowServiceHostFactory。
可以在此处找到包含使用示例的博客文章: http://blogs.msdn.com/b/endpoint/archive/2011/04/27/how-to-create-a-wf4-workflowservicehostfactory-for-appfabric-auto-start.aspx
【讨论】:
WorkflowServiceHostFactory 将要求您预编译 C# 表达式(请参阅 msdn.microsoft.com/en-us/library/jj591618%28v=vs.110%29.aspx)。否则,您会收到一条非常无用且令人困惑的错误消息。