2012-10-08 33 views
3

所以我在2012年創建了合同第一工作流。我有一個xamlx文件,它具有用於每個操作的並行路徑。在IIS(Express)下一切正常。WorkflowHost在非IIS環境中......如何?

但是,我需要在EXE而不是IIS中託管這些WCF服務。我一直在嘗試使用WorkflowServiceHost,但無論如何配置它,我都會收到與諸如「活動必須設置」等內容有關的錯誤。等等。

不幸的是,搜索整個網絡還沒有產生一個工作的WF4.5解決方案。任何幫助讚賞。

回答

1

IIS在從WCF ServiceHost派生的封面下使用WorkflowServiceHost。隨着工作流定義的變化,將其打開並開始監聽傳入的請求。

簡單控制檯應用程序代碼。

var workflow = new MyWorkflow(); 
var serviceHost = new WorkflowServiceHost(workflow); 
serviceHost.Open(); 
Console.WriteLine("WorkflowServiceHost is listening..."); 
Console.ReadLine();serviceHost.Close(); 

相關的app.config。

<system.serviceModel> 
    <services> 
    <service name="MyWorkflow"> 
     <endpoint address="http://localhost:8080/MyWorkflow" binding="basicHttpBinding" contract="IMyWorkflow"/> 
    </service> 
    </services> 
</system.serviceModel>