Я работаю над asp.net (или winforms) приложение, которое, как предполагается, обнаруживает возможность соединения Wi-Fi и силу. Намерение состоит в том, чтобы предоставить местным агентам индикатор, который они могут подключить к нашему основному офису
Что я должен был бы обнаружить возможность соединения Wi-Fi?
Вы не можете сделать это в ASP.NET. ASP.NET - это серверная технология, которая делает код для просмотра на стороне клиента.
Чтобы сделать это, вам придется разработать что-то, встроенное в страницу (ActiveX, Java, Flash, Silverlight), и даже тогда вам придется получить соответствующие разрешения безопасности от пользователя для доступа к API, необходимым для доступа к антенне wifi.
Взгляните на WlanEnumInterfaces в wlanapi.dll. Вам нужно будет отозвать его из C #. Для него есть управляемая оболочка на Codeplex ( http://managedwifi.codeplex.com ), но я не могу поручиться за нее, поскольку никогда не использовал ее лично.
Вы все еще можете использовать ASP.Net, если вы не против написать объект ActiveX, а ваши клиенты не возражают против запуска его с вашего веб-сайта.
Вы можете сделать это довольно просто, используя как WinForms , так и ASP.NET. На своем сервере вы создаете веб-службу с помощью единственного метода, который возвращает true
. Для своих клиентов вы пишете приложение winforms (что-то, что находится в области уведомлений, было бы идеально), которое опрашивает веб-службу каждые 5 или 10 секунд (или любой другой интервал, который вы хотите) с таймаутом
в несколько секунд. меньше. Если вызов веб-службы возвращается без исключения тайм-аута, вы знаете, что подключены. Если время ожидания истекло, вы знаете, что не подключены (и вы можете, например, показать небольшой индикатор, зеленый при подключении и красный при отсутствии подключения).
Обратите внимание, что вы на самом деле никоим образом не будете измерять доступность Wi-Fi (или уровень его сигнала), но, вероятно, это не то, что действительно волнует ваших полевых агентов. Они, вероятно, просто хотят знать, могут ли они подключиться или нет.