2011-10-11 169 views
1

我已經編寫了一個偵聽Tcp連接的C#服務器。客戶端可以連接到服務器併發送數據,主要是文件名。服務器收到的數據需要在用ASP.NET編寫的網站上顯示。在C#服務器進程和網站之間共享數據

我正在考慮使用管道將數據從服務器進程發送到網站。這是做到這一點的正確方法,還是有其他(更聰明)的方式來做到這一點?

+0

連接兩個應用程序通過SQL數據庫不是一個容易的選擇? –

+0

是一個選項,請參閱我對Felice Pollano發表的評論。 – Carlito

回答

1

我不認爲管道是一種選擇,因爲託管網站的流程(工作流程)可以在任何時候回收,而您對此沒有控制權。最好有一個普通的舊數據庫來共享您的服務和asp.net應用程序之間的信息。如果你認爲數據庫太多了,你可以使用一個純文件(或者一個xml無關緊要),但在這種情況下,你必須留意併發性,因爲這兩個進程可以同時嘗試打開文件。

+0

使用數據庫或文件是一個選項,但網站需要得到通知。其思想是用戶點擊某個按鈕,服務器向客戶端發送請求,客戶端將數據發回服務器,服務器將數據發回網站。如果在數據庫或文件中準備好數據,我不知道如何通知網頁。有任何想法嗎? – Carlito

+0

你可以使用'FileSystemWatcher'來監視一個文件,一個'SqlDependency'來監視一個表或者只是一個「點擊這裏刷新」,在這個數據庫上運行查詢並查看該文件是否已經可用。 –

+0

謝謝,不知道SqlDependency。我可能會檢查一個! – Carlito

0

你可以寫一個WCF服務,可以跟客戶端/服務器和網站上不同的協議.....

+0

還沒有聽說過WCF,我會研究它! – Carlito