2012-04-03 124 views
1

我在同一臺服務器上有公共桌面站點,公共移動站點和專用Intranet站點。它們都是用C#(ASP.Net 4.0)編寫的。Windows服務或Web服務?

每個人都有自己的代碼來處理信用卡付款。我想編寫一個應用程序來處理所有3個站點的信用卡支付。我希望這個應用程序只能從這3個本地應用程序訪問。

我知道如何做到這一點的唯一方法是創建一個Web服務並限制流量到本地主機。

有沒有更好的(「正確」)方法來做到這一點?我應該創建一個Windows服務嗎?

+1

聽起來像是一個合理的解決方案給我。 – BluesRockAddict 2012-04-03 02:25:00

回答

0

一般的方法是健全的。但是,我不僅僅將訪問限制在本地主機上。稍後的某個時間點配置錯誤可能會導致您的付款Web服務受到影響。另外,如果服務器受到威脅,那麼在本地主機上運行的任何進程都將具有未經檢查的訪問權限。

始終使用身份驗證來確保您的付款Web服務的安全。

如果您必須將身份驗證服務部署在與前端網站相同的物理盒子上,請特別注意確保付款服務(例如,如果您要存儲信用卡號碼或與信用賬戶相關的PII,例如姓名,地址, ...確保數據庫正確安全)。如果可能的話,將支付服務放置在獨立於面向公衆(或面向同事)網站的附加層上,並受適當的防火牆規則保護。

0

我不認爲如果您有調用應用程序,Windows服務將是不錯的選擇。就我所知的WCF而言,我們可以考慮NetTcpBinding和NetNamedPipeBinding。

NetTcpBinding的 - 甲安全和優化的結合適合於WCF應用程序之間的橫越機器的通信。

NetNamedPipeBinding - 一種安全,可靠,優化的綁定,適用於WCF應用程序之間的機器間通信。