2017-04-25 35 views
0

這種情況是這樣的。在公司網絡上,api url是不同的,當從外部訪問時,它是不同的。因此,當xamarin形成應用程序啓動時,我需要測試兩個服務器中的哪一個正在響應以檢查它是本地網絡還是應用程序連接到外部。這將成爲所有其他請求的決定因素。請注意,服務器是基於php的Xamarin Forms HttpClient在兩個服務器之間決定哪個服務器啓動/活動/正在響應

+0

對任何資源的快速請求,並檢查'​​request.IsSuccessStatusCode'然後執行相同的請求到第二個API端點不會做? – Alex

+0

如果服務器無法訪問,應用程序會一直等待響應 –

回答

1

您可以使用James Montemagno的Connectivity plugin。您可以檢查您使用的設備是否在線,還可以使用IsRemoteReachable調用來查看是否可以訪問服務器。

另外,請確保在Android清單中選擇插件所需的所有適當權限。

+0

我會測試它,並讓您知道它是如何發生的 –

+0

IsReachable不起作用。兩個服務器都返回false,而其中一個服務器正在命令行中執行ping操作。 –

+0

還有'IsRemoteReachable',不知道有什麼區別,但你也可以嘗試。並且請注意,從命令行執行ping操作可能與您的模擬器/模擬器不同,因此請確保主機_is_實際上可以從那裏訪問。 –