2
我已經實現了一個windows服務。 我該如何運行服務的多個實例,每個實例都在它自己的AppDomain中?如何在不同的AppDomain中運行多個服務實例?
我已經實現了一個windows服務。 我該如何運行服務的多個實例,每個實例都在它自己的AppDomain中?如何在不同的AppDomain中運行多個服務實例?
Windows服務必須先註冊才能作爲服務運行,因此假設您有固定數量的實例要運行,請在安裝服務進程時爲每個服務註冊唯一的名稱,然後在啓動代碼中註冊,簡單實例每一個通過ServiceBase.Run
例如:
var service1= new MultiService("name1");
var service2 = new MultiService("name2");
ServiceBase.Run(new ServiceBase[] { service1, service2 });
ServiceBase.Run自動旋轉起來在它自己的應用程序域的每個服務。
你將如何運行一個服務的多個實例開始?據我所知,所有服務都是單個實例。如果你想要一個單獨的實例,我認爲你需要創建一個全新的服務,在這種情況下,它將獲得自己的域名。請記住,您可以創建多個運行相同可執行文件的服務(例如MS SQL Server) – Pete
查看Windows進程激活服務(http://www.iis.net/learn/manage/provisioning-and-managing- IIS /特徵的最 - 窗口過程激活服務-是)。如果它不適合您查看與.NET Framework集成的COM +並提供對象池功能。 –