我即將編寫一個小型的C#WPF服務,它引用XML文件進行配置。我已經編寫了WPF接口應用程序,它創建和維護服務將讀取的XML。很多代碼都進入了接口使用的類,我想重用它們,但只維護一個版本的代碼。Windows服務和配置應用程序在Visual Studio中的最佳實踐
在Visual Studio中維護兩個「Main」入口點的最佳做法是什麼?一個用於應用程序,另一個用於服務。是否可以混合使用WPF表單和服務項目類型?
如何在將服務註冊爲Windows服務之前測試並運行服務?
我即將編寫一個小型的C#WPF服務,它引用XML文件進行配置。我已經編寫了WPF接口應用程序,它創建和維護服務將讀取的XML。很多代碼都進入了接口使用的類,我想重用它們,但只維護一個版本的代碼。Windows服務和配置應用程序在Visual Studio中的最佳實踐
在Visual Studio中維護兩個「Main」入口點的最佳做法是什麼?一個用於應用程序,另一個用於服務。是否可以混合使用WPF表單和服務項目類型?
如何在將服務註冊爲Windows服務之前測試並運行服務?
如果我得到這個正確的你有一個UI項目,你想重新使用單獨的Windows服務項目中的代碼。
通常,這是由公共的共享代碼移動到一個單獨的項目完成的,稱爲共享或核心。這是你需要進行單元測試的。最後,您將UI和Windows服務項目的引用添加到此共享庫。
/root ... /src /app /Core /Presentation (ref to Core) /Service (ref to Core) /test /Core.Test (ref to Core)
修改您的主要所以它有調試配置不同的行爲,並讓您TestApp調用到的MyService的公共部分:
static void Main()
{
#if DEBUG
TestApp testApp = new TestApp();
testApp.Run();
#else
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new MyService()
};
ServiceBase.Run(ServicesToRun);
#endif
}
然後你就可以通過TestApp駕駛你的服務的邏輯在調試器中無需註冊實際服務。
謝謝,這將有助於服務調試 – Damo
這就是我正在尋找的。我會試試 – Damo