در برنامه های مرتبط با ارتباطات اینترنتی باید بدانیم که آیا کاربر اتصال اینترنتی دارد یا خیر. بنابراین باید قبل از ارتباط با هر سرویسی بررسی کنیم.
برای آن ویندوز 10 دارای کلاس Windows.Networking.Connectivity.NetworkInformation است . با استفاده از این کلاس می توانید به راحتی اطلاعات کسب کنید که آیا به اینترنت دسترسی دارید یا خیر.
روش مورد استفاده برای بررسی اینکه آیا اتصال اینترنت در دسترس است یا نه:
- public void checkinternet()
- {
- var connection = NetworkInformation.GetInternetConnectionProfile();
- bool status = (connection != null &&
- connection.GetNetworkConnectivityLevel() == NetworkConnectivityLevel.InternetAccess);
- }
از این روش در هر جایی که نیاز به بررسی اینترنت دارید استفاده کنید. در برخی موارد، در طول تغییرات شبکه باید کارهایی را انجام دهیم. برای این کار باید فرآیند تعیین اتصال شبکه را با ثبت یک کنترلر برای رویداد NetworkStatusChanged در کلاس NetworkInformation ثبت کنیم.
NetworkStatusChanged و هنگامی که وضعیت تغییر می کند، اعلان دریافت کنید و آن را ذخیره کنید تا زمانی که شخصی می خواهد دسترسی به اینترنت را بررسی کند به راحتی قابل بازگرداندن باشد.
کد برای تشخیص تغییرات شبکه در برنامه جهانی ویندوز 10.
- NetworkInformation.NetworkStatusChanged += NetworkInformation_NetworkStatusChanged;
- void NetworkInformation_NetworkStatusChanged(object sender)
- {
- if (DeviceNetworkInformation.IsNetworkAvailable)
- {
- //do you task
- }
- }
در مرحله بعد، با استفاده از این کلاس NetworkInformation میتوانیم نوع شبکه مورد استفاده خود را پیدا کنیم.
- شبکه محلی کابلی
- وای فای
- سیار
- هیچ یک
برای یافتن نوع شبکه ای که در برنامه UWP ویندوز 10 استفاده می کنیم کد کنید.
- var currentNetworkConnection = NetworkInformation.GetInternetConnectionProfile();
- var currenttype = currentNetworkConnection.NetworkAdapter.IanaInterfaceType;