मैंने कोड को थोड़ा सा सरल बना दिया है लेकिन मूल रूप से यह मुझे "एक डिस्पोजेड ऑब्जेक्ट तक नहीं पहुंच सकता है।" त्रुटि और मैं काम नहीं कर सकता क्यों?यह एचटीपी क्लाइंट उपयोग क्यों मुझे "एक डिस्पोजेड ऑब्जेक्ट तक नहीं पहुंच सकता है।" त्रुटि?
मेरे पास एक साथ चलने वाले कई कार्य हैं जो एक जीईटी करते हैं तो कुछ एचटीएमएल का विश्लेषण करते हैं और फिर जीईटी के परिणामों के आधार पर एक पोस्ट करते हैं।
यह कोड परिणाम के साथ एक ईवेंट ऑब्जेक्ट रिटर्न में रहता है, इसलिए मुझे नहीं लगता कि मैं प्रतीक्षा कर सकता हूं क्योंकि विधि को शून्य वापस करने की आवश्यकता होगी?
loginHTMl = loginPostResult.Content.ReadAsStringAsync()। परिणाम लाइन है कि त्रुटि पैदा करता
foreach (Account accountToCheck in eventToCheck.accountsToRunOn)
{
Task.Run(() =>
{
HttpClientHandler handler = new HttpClientHandler();
CookieContainer cookies = new CookieContainer();
handler.CookieContainer = cookies;
using (var client = new HttpClient(handler))
{
ServicePointManager.ServerCertificateValidationCallback = delegate (object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; };
client.Timeout = new TimeSpan(0, 0, 3);
client.DefaultRequestHeaders.Add("Keep-Alive", "false");
HttpResponseMessage response = client.GetAsync("https://test.com", HttpCompletionOption.ResponseContentRead).Result;
string html = response.Content.ReadAsStringAsync().Result;
var content = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("test[username_or_email]", accountToLogIn.accountHandle),
new KeyValuePair<string, string>("test[password]", accountToLogIn.accountPassword)
});
var loginPostResult = client.PostAsync("https://test.com/login", content).Result;
loginHTMl = convertToUTF8(loginPostResult.Content.ReadAsStringAsync().Result);
}
});
}
StackTrace है।
System.IO.IOException occurred
HResult=-2146232800
Message=Unable to read data from the transport connection: Cannot access a disposed object.
Object name: 'System.Net.Sockets.Socket'..
Source=System
StackTrace:
at System.Net.Sockets.NetworkStream.EndRead(IAsyncResult asyncResult)
InnerException:
HResult=-2146232798
Message=Cannot access a disposed object.
Object name: 'System.Net.Sockets.Socket'.
ObjectName=System.Net.Sockets.Socket
Source=System
StackTrace:
at System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult, SocketError& errorCode)
at System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult)
at System.Net.Sockets.NetworkStream.EndRead(IAsyncResult asyncResult)
InnerException:
कौन सी लाइन आपको अपवाद दे रही है? अपने प्रश्न में पूरे स्टैक ट्रेस पोस्ट करें। – CathalMF
क्या आप देख रहे अपवाद के वास्तविक स्टैक ट्रेस पोस्ट कर सकते हैं। – CathalMF
मैंने सवाल संपादित किया है, उम्मीद है कि थोड़ा सा मदद करता है, मुझे बताएं कि मैं और क्या जोड़ सकता हूं :-) – jamie