2016-03-16 196 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

相关问题