2015-10-13 51 views
-1

假設我們有一些控制器與方法FooMethod和類庫項目,最重要的類ListenerClass,至極incapsulate巨大的邏輯,有些工作線程,並有公共方法GetSomeData。目標是使用ListenerClass(FooMethods)與不同請求的Controller實例進行交互。 (實際上有很多方法在Listener類與許多控制器的許多方法應交互)
這裏我張貼插圖http://itmages.ru/image/view/3088345/8a710ec4
問題的源極通過ASP每個單獨傳請求分離傳請求處理過程。淨基礎設施。在Session或TempData中保持ListenerClass是非常糟糕的做法。所以有兩個問題:
1.什麼形式的項目最適合包含我的類lib中的類?我認爲Windows服務,但不知道這是最好的選擇。
2.如何組織從asp.net項目和項目之間的1個問題組織交互。我考慮使用本地主機,但在我看來不合理。在這種情況下,我必須對兩端的數據進行serilize和反序列化。我希望MS已經開發了一些用於在.net進程之間交互數據的技術,但是WCF。如何在一臺服務器上實現asp.net mvc app與separete監聽器的交互業務邏輯?

Thx,對不起,我的英語。

回答

0

經過一番研究,我選擇使用WCF。它允許創建一個srvice並創建與extern代碼的簡單交互。必須將InstanceContextMode設置爲Single才能在不同的請求中保留一些數據。如果你不使用服務和它的客戶端之間的網絡(如我的情況),你可以使用netNamedPipeBinding而不是wsHttpBing和另一個。