我正在开发一个应该检测wifi连接和强度的asp.net(或winforms)应用程序。目的是为现场代理人提供一个指示,表明他们可以连接到我们的总部
我需要检测wifi连接?
答案 0 :(得分:5)
您无法在ASP.NET中执行此操作。 ASP.NET是一种服务器端技术,可以呈现客户端可浏览的代码。
为了做到这一点,你必须开发嵌入在页面中的东西(ActiveX,Java,Flash,Silverlight),即使这样,你也必须拥有用户的相应安全权限才能访问API需要访问wifi天线。
答案 1 :(得分:3)
查看wlanapi.dll中的WlanEnumInterfaces。你必须从C#中取消它。在Codeplex上有一个托管包装器(http://managedwifi.codeplex.com),但我不能保证它,因为我从来没有亲自使用它。
如果您不介意编写ActiveX对象,并且您的客户不介意从您的网站运行它,您仍然可以使用ASP.Net。
答案 2 :(得分:0)
您实际上只需使用两个 WinForms 和 ASP.NET即可。在您的服务器上,使用返回true
的单个方法创建Web服务。对于您的客户,您编写了一个winforms应用程序(位于托盘中的东西是理想的),每隔5或10秒(或您想要的任何间隔)轮询Web服务,并减少timeout
秒。如果Web服务调用返回而没有抛出超时异常,那么您知道您已连接。如果它超时,你知道你没有连接(例如,你可以在连接时显示一些绿色的光,在没有连接时显示红色。)
请注意,您实际上不会以任何方式测量WIFI可用性(或其信号强度),但这可能不是您的现场代理真正关心的事情。他们可能只是想知道他们是否可以连接。