我有一個作爲Windows服務託管的WCF服務(VS 2010,.Net 4.0)。 我想要做的是這樣的:我想要一個服務中的方法在服務啓動時執行。WCF服務啓動時調用方法
回答
我不知道你是如何使用的Windows服務來託管WCF服務(S),但我希望像@SSamra描述的東西。
無論如何,低於你所在的行.Open();打開你的服務,你可以初始化你的wcf代理並調用你的方法。
說你的代理是FirstWcfProxy,那麼你可以做這樣的事情,
var firstWcfProxy = new FirstWcfProxy();
// or IFirstWcfService firstWcfProxy = new FirstWcfProxy();
firstWcfProxy.YourMethod();
編輯: 如果你想確保該方法只要在服務啓動調用初始化線下代理sHost.Open();並調用那裏的方法,就像我上面描述的那樣
我要去用這個。 Tnx :) –
how about
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.ServiceProcess;
using System.ServiceModel;
namespace Windows_Service
{
public partial class WCFWindowsService : ServiceBase
{
ServiceHost m_serviceHost;
protected override void OnStart(string[] args)
{
m_serviceHost = new ServiceHost(typeof(FirstWcfService.Service));
m_serviceHost.Open();
}
protected override void OnStop()
{
if (m_serviceHost != null)
{
m_serviceHost.Close();
}
m_serviceHost = null;
}
}
}
我沒有.svc文件。實際上,projcet是WCF庫服務。正如我所說,我沒有OnStart方法。 –
@ user96 OnStart屬於Windows(NT)服務。但我開始認爲你正在使用IIS託管。你是否在某處創建了ServiceHost? –
不,我不使用IIS託管。我使用Windows託管。 sHost = new ServiceHost(typeof(WCFserviceLibrary.Jobs)); sHost.Open(); 我想從WCFserviceLibrary中調用一個方法。 –
- 1. WCF服務無法啓動
- 2. wcf服務無法啓動
- 3. 當有多個服務可用時,WCF服務無法啓動
- 4. WCF服務無法在Web服務器上啓動調試
- 5. wcf服務啓動
- 6. WCF服務方法調用兩次
- 7. 調用WCF服務的多種方法
- 8. 從Silverlight調用wcf服務方法
- 9. 從wcf服務調用異步方法
- 10. 如何調用WCF服務方法
- 11. 使用JQuery調用WCF服務時WCF服務調用失敗
- 12. 服務器啓動時的調用方法
- 13. 在Windows服務中使用的IIS中承載的WCF服務的調用方法,但服務未啓動
- 14. 運行時動態調用WCF服務
- 15. 耗時WCF服務調用阻止其他WCF服務調用。
- 16. 服務啓動時調試
- 17. 動態調用WCF服務
- 18. 動態調用WCF服務
- 19. 無法啓動主機WCF服務
- 20. 啓動時驗證WCF服務
- 21. WCF服務不能啓動
- 22. WCF服務方法
- 23. WCF。服務通用方法
- 24. 引用WCF服務方法
- 25. 什麼主機方法可用於WCF服務以防止多服務啓動?
- 26. 在JBoss服務器啓動調用業務邏輯方法
- 27. WCF:服務調用服務
- 28. 無法啓動異步服務調用
- 29. 未調用方法時引發的WCF服務事件
- 30. 調用WCF JSONP Web服務方法時出現錯誤400
你試過了什麼?你如何在你的Windows服務中啓動WCF主機?顯示你的OnStart方法執行請 –
做什麼?有一個覆蓋某處來定製配置等。 –
@DavidePiras我沒有OnStart方法。其實,這是我的問題。 –