2010-09-17 202 views
0

我有一個體面的大小的.NET代碼,現在需要通過ASP網頁訪問。事務需要定期發送到這個「服務器」進行處理。處理需要不到一秒鐘的時間,每天可能有100-1000次這樣的事務通信web-windows服務器:代理DLL,web服務或windows服務+ WCF?

我真的只在COM和Windows服務上工作過,所以我的正常做法是讓Windows服務將所有必要的數據在內存中運行,客戶端GUI將連接併發送請求並接收答案。

從我可以做的關於ASP的一個DLL或Web服務是現在訪問服務器的方式。

我與DLL的問題是,DLL是否必須從數據庫中加載信息以構建最新信息,然後才能檢查事務。應該只需要一秒鐘,但是與持續運行的Windows服務相比,是額外的開銷。另一方面,Windows服務需要更加容錯。

只有3-4個API需要被調用,並且不可能在將來改變。

所以問題:Windows服務+ WCF /套接字/ ...或DLL或Web服務?

回答

0

我會自己去與DLL/Web服務(或WCF服務)。 ASP.NET具有緩存可用,並且您還可以創建一些生存在應用程序生命週期(可通過IIS進行調整)的單例類型對象。像這樣的東西基本上可以讓你擁有你在windows服務中擁有的持久狀態。

我可以提供的唯一真正的好處是使用DLL/Web服務比Windows服務需要更少的配置/權限;並且使用Windows服務,您還會遇到IPC處理問題(以及與之相關的所有安全問題)。