मेरा आवेदन पहले ठीक चल रहा था लेकिन कुछ दिनों से, बिना किसी बदलाव के मुझे अपवाद मिल रहा है

System.Net.Http.HttpRequestException: No route to host

पूरा अपवाद इस प्रकार है।

{System.Net.Http.HttpRequestException: होस्ट करने के लिए कोई रूट नहीं ---> System.Net.Sockets.SocketException: होस्ट करने के लिए कोई रूट नहीं <99e6bf942304234315ba19eac23497e256>:0 में System.Net.Http.ConnectHelper.ConnectAsync (System.String host, System.Int32 port, System.Threading.CancellationToken रद्दीकरण टोकन) [0x00110] पर --- आंतरिक अपवाद स्टैक ट्रेस का अंत --- <99e6bf9d99234215ba19eacc7497e256>:0 में System.Net.Http.ConnectHelper.ConnectAsync (System.String host, System.Int32 port, System.Threading.CancellationToken रद्दीकरण टोकन) [0x001ac] पर System.Threading.Tasks.ValueTask1[TResult].get_Result () [0x0001b] <6de489942345dbea42342d8c6>:0 पर <99e6bf9d99304315ba19eacc7497e256>:0 में System.Net.Http.HttpConnectionPool.CreateConnectionAsync (System.Net.Http.HttpRequestMessage अनुरोध, System.Threading.CancellationToken रद्दीकरण टोकन) [0x00134] पर System.Threading.Tasks.ValueTask1[TResult].get_Result () [0x0001b] में <6de48997d0c0445dbea8d4d83492d8c6>:0 पर System.Net.Http.HttpConnectionPool.WaitForCreatedConnectionAsync (System.Threading.Tasks.ValueTask1[TResult] createTask) [0x000a2] में <99e6bf9d9342043152342eacc7497e256>:0 पर System.Threading.Tasks.ValueTask1[TResult].get_Result () [0x0001b] <6de48997d4234bea8d4d234d8c6>:0 पर System.Net.Http.HttpConnectionPool.SendWithRetryAsync (System.Net.Http.HttpRequestMessage अनुरोध, System.Boolean doRequestAuth, System.Threading.CancellationToken रद्दीकरण टोकन) [0x00089] पर <99e6bf9d993234a19eacc7497e256>:0 पर System.Net.Http.RedirectHandler.SendAsync पर (System.Net.Http.HttpRequestMessage अनुरोध, System.Threading.CancellationToken रद्दीकरण टोकन) [0x000ba] <99e6bf9d234304315ba19eac2345256>:0 में System.Net.Http.HttpClient.FinishSendAsyncUnbuffered पर (System.Threading.Tasks.Task1[TResult] SendTask, System.Net.Http.HttpRequestMessage request, System.Threading.CancellationTokenSource cts, System.Boolean DisposeCts) [0x000b3 ] <99e6bf9d99304315ba19eacc7497e256>:0 . में Refit.RequestBuilderImplementation+<>c__DisplayClass11_01[T].b__0 (System.Net.Http.HttpClient क्लाइंट, System.Threading.CancellationToken ct, System.Object[] paramList) [0x00115] में <573dbb234a499ea234c22312349ab6>:0 पर MyApp.Droid.Activities.ActivityLogin.GetToken () [0x000c2] में /ActivityLogin.cs:624 } पर

मेरा यूआरएल कुछ इस तरह है https://someservice.com:8080 मैंने एंड्रॉइड भी जोड़ा है: एंड्रॉइड मेनिफेस्ट फ़ाइल में क्लीयरटेक्स्टट्रैफिक = "सत्य" का उपयोग करता है। कृपया इस संबंध में मेरा मार्गदर्शन करें।

1
user6159419 4 नवम्बर 2019, 17:03
क्या आपका सर्वर सही काम कर रहा है?
 – 
Dhaval Solanki
4 नवम्बर 2019, 17:08
हाँ, मुझे डाकिया पर प्रतिक्रिया मिलती है। यह ठीक काम कर रहा है।
 – 
user6159419
4 नवम्बर 2019, 17:16
मेरा ऐप ठीक काम कर रहा था लेकिन कुछ दिन पहले यह क्रैश हो गया। जब मैंने कोड के माध्यम से डीबग किया तो मुझे उपरोक्त अपवाद मिला।
 – 
user6159419
4 नवम्बर 2019, 17:18
आप कोड के साथ क्या करना चाहते हैं? url से कनेक्ट करने के लिए ऐप का उपयोग करें? यदि हाँ, तो आप कैसे जुड़ते हैं?
 – 
Wendy Zang - MSFT
6 नवम्बर 2019, 10:27
क्या आप लोकलहोस्ट का उपयोग कर रहे हैं या यह एक सार्वजनिक वेबपेज है?
 – 
Saamer
7 नवम्बर 2019, 07:59

4 जवाब

सबसे बढ़िया उत्तर

मैंने उपरोक्त सभी परिदृश्यों का परीक्षण किया है लेकिन कुछ भी कोई चाल नहीं चल रही है। मैं अपने कार्यालय में ऐप का परीक्षण कर रहा था। जब मैंने अपने घर पर उसी ऐप का परीक्षण किया, तो इसने पूरी तरह से काम किया। समस्या कार्यालय नेटवर्क पर प्रतिबंध के कारण थी। . . बंदरगाहों की भी अनुमति नहीं थी, इसलिए यह समस्या हुई। अब मेरे उपकरणों के लिए प्रतिबंध हटा दिए गए हैं इसलिए ऐप कार्यालय में भी ठीक काम कर रहा है।

0
user6159419 18 नवम्बर 2019, 18:40

अगर यह एसएसएल से संबंधित है तो बस समाधान का प्रयास करें शायद आपके लिए काम करें

xml निर्देशिका में network_security_configx.xml नाम और नीचे दिए गए कोड के साथ एक फ़ाइल बनाएं
res -> xml -> network_security_configx.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system" />
        </trust-anchors>
    </base-config>
</network-security-config>

और फिर नीचे दिए गए कोड को अपने AndroidManifest <application> में जोड़ें

<application
        android:name=".volley.AppController"
        android:allowBackup="true"
        android:fullBackupContent="false"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:usesCleartextTraffic="true"
        android:networkSecurityConfig="@xml/network_security_config"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        tools:ignore="GoogleAppIndexingWarning"
       >
.....
</application>
0
Dhaval Solanki 4 नवम्बर 2019, 17:22

यह एक DNS समस्या की तरह दिखता है, सर्वर के सीधे पते के साथ एक बेस यूआरएल का उपयोग करने का प्रयास करें जिसे एपीआई होस्ट किया गया है और यह जांचने के लिए डोमेन/सबडोमेन का उपयोग न करें कि आपके लिए काम करता है या नहीं।

0
Maicon Wissmann 13 नवम्बर 2019, 21:46

हाँ, यह एपीआई का उपयोग करते समय मोबाइल ऐप्स के लिए बहुत बार होता है, इसलिए इस तरह की समस्याओं के समाधान के लिए मैं लचीलापन के लिए लाइब्रेरी पोली का उपयोग करता हूं, पॉलिसी WaitAndRetryAsync का उपयोग करके Xamarin के साथ बहुत अच्छा काम करता है:

await Policy
        .Handle<Exception>()
        .WaitAndRetryAsync
        (
            retryCount: 3,
            sleepDurationProvider: retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)),
            onRetry: (ex, time) =>
            {
                IsError = true;//bool that show the text with the message
                cont++;
                Mensage = $"Error on load data: {ex.Message}, trying again ({cont})..";
                Crashes.TrackError(ex);//using the library of app center to register the exception
            }
        )
        .ExecuteAsync(async () =>
        {
            //your code to call the API;                              
        });
0
Maicon Wissmann 21 नवम्बर 2019, 20:32