मेरे पास एएसपीनेट कोर 2.2 कोणीय 11 परियोजना अच्छी तरह से चल रही है और अब मुझे नहीं पता कि मुझे अपने प्रश्नों पर त्रुटि "एसएसएल कनेक्शन स्थापित नहीं किया जा सका" क्यों मिलता है।

मैंने एंगुलर को .net से अलग करने के लिए ASP.net कोर 5 वेब एपीआई प्रोजेक्ट (कोणीय और बिना दृश्य के) बनाया। लेकिन समस्या जस की तस है। मैं एक सप्ताह के लिए इस त्रुटि पर काम कर रहा हूं, मैंने इस मुद्दे के आसपास इंटरनेट पर जो कुछ भी मिल सकता है, मैंने कोशिश की लेकिन हमेशा एक ही समस्या।

नीचे मैंने पोस्टमैन के माध्यम से अनुरोध शुरू करने के बाद पूरी त्रुटि डाली।

मैं विंडोज़ 10 के तहत स्थानीय में हूँ।

HttpClientHandler clientHandler = new HttpClientHandler();
clientHandler.ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => { return true; };

            
client = new HttpClient(clientHandler);

Task<HttpResponseMessage> reponse = client.PostAsJsonAsync(url, user);

var result = reponse.Result.Content.ReadFromJsonAsync<Result<User>>().Result;

त्रुटि :

System.AggregateException: एक या अधिक त्रुटियाँ उत्पन्न हुईं। (एसएसएल कनेक्शन स्थापित नहीं किया जा सका, आंतरिक अपवाद देखें।)\r\n ---> System.Net.Http.HttpRequestException: एसएसएल कनेक्शन स्थापित नहीं किया जा सका, आंतरिक अपवाद देखें।\r\n ---> System.IO.IOException: फ्रेम आकार निर्धारित नहीं कर सकता या एक दूषित फ्रेम प्राप्त हुआ था। SslStream.ForceAuthenticationAsync[TIOAdapter](TIOAdapter एडेप्टर, बूलियन रिसीवफर्स्ट, बाइट[] reAuthenticationData, बूलियन isApm)\r\n System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore (बूलियन एसिंक्स, टोकन स्ट्रीम स्ट्रीम, SslClientAuthenticationOptions, Cancellation रद्दीकरण) पर \n --- System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore (बूलियन async, स्ट्रीम स्ट्रीम, SslClientAuthenticationOptions sslOptions, CancellationToken रद्दीकरण टोकन)\r\n पर आंतरिक अपवाद स्टैक ट्रेस का अंत ---\r\n System.Net पर। Http.HttpConnectionPool.ConnectAsync(Http RequestMessage अनुरोध, बूलियन async, रद्दीकरण टोकन रद्दीकरण टोकन)\r\n System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync (HttpRequestMessage अनुरोध, बूलियन async, रद्दीकरण टोकन रद्दीकरण टोकन)\r\n पर System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request) पर , बूलियन एसिंक, रद्दीकरण टोकन रद्दीकरण टोकन)\r\n System.Net.Http.HttpConnectionPool.SendWithRetryAsync पर (HttpRequestMessage अनुरोध, बूलियन async, बूलियन doRequestAuth, रद्दीकरण टोकन रद्दीकरण टोकन)\r\n System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage) पर अनुरोध, बूलियन एसिंक, रद्दीकरण टोकन रद्दीकरण टोकन)\r\n System.Net.Http.DiagnosticsHandler.SendAsyncCore (HttpRequestMessage अनुरोध, बूलियन async, रद्दीकरण टोकन रद्दीकरण टोकन)\r\n पर System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request, एचटीपी पूर्णता विकल्प पूर्णता विकल्प, बूलियन एसिंक, बूलियन उत्सर्जन टेलीमेट्री स्टार्टस्टॉप, रद्दीकरण टोकन रद्द tionToken)\r\n --- System.Threading.Tasks.Task.Wait (Int32 मिलीसेकंड टाइमआउट, रद्दीकरण टोकन रद्दीकरण टोकन) पर आंतरिक अपवाद स्टैक ट्रेस ---\r\n का अंत। टास्क। प्रतीक्षा करें ()\r\n फ्लाईटैगरवेबएपीआई पर।

1
mokmap 30 जिंदा 2021, 22:20
आमतौर पर कोड कार्यों की शुरुआत में फॉलोइंग जोड़ना। अन्यथा, उपयोगकर्ता सेटिंग्स, नेट संस्करण और ऑपरेटिंग सिस्टम के संयोजन के कारण यह बहुत जटिल है: ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
 – 
jdweng
31 जिंदा 2021, 01:25
मैंने इसे जोड़ा: ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12 |SecurityProtocolType.Tls11 | सुरक्षा प्रोटोकॉल प्रकार। टीएलएस; और clientHandler.SslProtocols = SslProtocols.Tls12 | SslProtocols.Tls11 | एसएसएल प्रोटोकॉल। टीएलएस; मेरे कोड के लिए लेकिन यह कुछ भी नहीं बदलता है, हमेशा वही गलती। पागल होती जा रही हूँ मैं।
 – 
mokmap
31 जिंदा 2021, 11:22
एसएसएल, टीएलएस 1.0 और 1.1 अप्रचलित हैं और इन्हें जोड़ा नहीं जाना चाहिए और इससे त्रुटियां होंगी। आप किस मशीन का उपयोग कर रहे हैं? कर्नेल को अद्यतन करने की आवश्यकता हो सकती है।
 – 
jdweng
31 जिंदा 2021, 13:19

1 उत्तर

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

मुझे पता चला कि क्या गलत था और यह सामान्य है कि मैंने जो कुछ भी करने की कोशिश की उसका कोई प्रभाव नहीं पड़ा।

मैंने अपने आवेदन को कई परियोजनाओं में विभाजित किया है। एक RESTFULL API प्रोजेक्ट है (जिसे मैं व्यावसायिक एप्लिकेशन कहता हूं) जिसकी कोई बाहरी पहुंच नहीं है और डेटाबेस से पूछताछ करता है और वेबसाइट या मोबाइल एप्लिकेशन इस प्रोजेक्ट को सीधे कॉल नहीं कर सकता है।

इसके लिए, मैंने 2 के बीच लिंक बनाने के लिए एक और वेब एपीआई प्रोजेक्ट (जिसे मैं प्रक्रिया कहता हूं) बनाया है। ऊपर वर्णित त्रुटि तक सब कुछ ठीक काम कर रहा था।

मैंने अभी एक नई तालिका बनाई है और इस प्रकार व्यावसायिक अनुप्रयोग में एक नया नियंत्रक है और त्रुटि तब होती है जब मैं इस नए नियंत्रक के कार्यों को कॉल करता हूं। अन्य सभी कॉल बिना किसी समस्या के काम करते हैं (जब प्रक्रिया व्यवसाय एप्लिकेशन को कॉल करती है, तो मुझे कोई समस्या नहीं है सिवाय इसके कि जब वह नए नियंत्रक को कॉल करे)।

तो मैं देखता हूं कि इस नियंत्रक के साथ क्या गलत है, काम कर रहे अन्य नियंत्रकों के साथ क्या अलग है।

0
mokmap 31 जिंदा 2021, 13:20