2016-03-16 39 views
0

只是一個簡單的問題之間的數據希望有人能指出我在正確的方向。在我們的.net網絡應用程序中,我們試圖實現與用戶計算機配對的第三方設備。爲了在我們的項目中生成這對,我們需要能夠拉取當前用戶的計算機名稱或IP地址。在winforms應用程序中,由於它駐留在用戶網絡上,因此會更容易。由於這是一個Web應用程序,因爲返回的唯一東西是服務器的IP地址或服務器的名稱,所以它非常困難。所以我們現在想要做的是讓我們的客戶下載一個Windows服務或WinForms應用程序,將這個信息返回給我們的應用程序。將Windows服務和Web應用程序

創建Windows服務或WinForms應用程序是直截了當,我明白,我的問題是,我將如何得到我的Windows服務或WinForms應用程序將數據發送到Web應用程序?我已經看過WCF,但最終用戶似乎不得不在終端上設置一些tcp設置,這對某些人來說可能有些困難,我希望避免。如果任何人有除WCF以外的任何建議,我也願意。

對於這種情況應如何處理讚賞任何建議,謝謝。

+0

如果你解釋什麼是你想做一個完整的例子,我會告訴你如何。 – thepanch

+0

我試圖獲取用戶的計算機名稱或IP地址。由於這很難通過網絡服務器完成,因此我正在考慮爲客戶創建一個Windows服務,以便在客戶端進行安裝。此服務將獲得計算機名稱,然後Web應用程序將從此窗口服務獲取計算機名稱,並使用該服務通過應用程序與第三方設備配對 – code

+0

好吧,我在底部答案 – thepanch

回答

0

我猜你是誤會Web服務或WCF或任何技術,您使用的概念。

Web服務是一個「功能」,將從客戶端調用但在服務器上執行,因此當您執行WCF並從不同的網站或桌面應用程序使用它時,您實際上是將數據發送到該服務器。

在其他情況下,如果你正在努力實現「實時」監控,將數據發送到服務器,並顯示在您的網站,那麼你需要做不同的東西。

這是你需要做的事情。

首先建立一個WCF服務,它將處理服務器端的信息,在那裏你需要實現一個函數,該函數將接收一個IP和計算機名稱(或任何你需要的)並返回哈希,密鑰或您用於配對設備的信息,然後將其託管在IIS服務器上。

'公共字符串PairDevice(字符串名稱,IP字符串,字符串....){

//save to database, do something and return the hash. 

}`

二創建一個Windows服務,桌面應用程序或東西,將運行在CLIENT計算機上,在那裏你需要消費WCF,在你的主代碼中,你將檢索你需要的所有參數給你的WCF函數,然後添加一個「Service Reference」,你將可以使用REMOTE函數你的客戶,請注意你的服務需要被應用程序訪問。

//retrieve IP, name, etc string name; string ip; myWCFclass WCF= new myWCFclass(); string myHash=WCF.PairDevice (name,ip,etc...); //thats all.

而這一切,你必須做的,如果您需要了解WCF如何運作的幫助下,我建議你讀這個鏈接

http://www.codeproject.com/Articles/406096/A-beginners-tutorial-for-understanding-Windows

+0

因此,@thepanch如果我正確理解Windows服務將數據發送到我的WCF(或Web服務),然後WCF將它保存到數據庫或文件? – code

+0

我可以託管在Windows服務不能我嗎? – code

+0

不,你不能在Windows服務中託管一個WCF,它需要「可見」,所以你需要把它放在IIS上。 – thepanch

相關問題