這個問題在以前問的問題跟進:link.NET編寫Windows服務消耗的VB6應用
我要開發一個Windows服務在.NET/C#。該服務必須由VB6編寫的應用程序使用。該服務實現Quartz.NET來處理預定任務,並且必須實現偵聽器才能啓動由VB6應用程序啓動的函數。
對VB6團隊的要求是能夠使用Winsock。爲此,我必須使用套接字和偵聽器。問題是我沒有這方面的經驗,我更像是一個WCF傢伙。
我正在查看TcpListener類,看看是否符合要求。
我的第一個問題:如果我實現了TcpListener類,記住使用VB6的簡短事件(如數據結構和二進制格式化),VB6團隊是否能夠使用該服務?
我的第二個問題:假設3個函數必須可用於VB6應用程序,並創建了1個偵聽器。什麼是實施這個的最佳實踐?
再一次:任何意見非常感謝!
對於編寫VB6應用程序的人來說,這確實是一個問題,但是......我會說最簡單的方法是使用使用CRLF終止符或類似的ASCII編碼文本數據編寫它。這應該很容易從VB和.NET工作。 –
您可以在.NET端使用HttpListener http://msdn.microsoft.com/en-us/library/system.net.httplistener.aspx,在VB6端使用一些HTTP庫(例如MSXML2.ServerXMLHTTP)。 HTTP比套接字高,但庫更容易處理。 –
爲什麼不通過COM對象公開服務?這對VB6來說很自然。讓服務實現自託管的WCF服務,並將客戶端(「添加服務引用」)作爲COM對象公開。 –