にアクセスし、することはできませんPOSTリクエストを送信し、 は、最初のiが正常に取得受けるが、私はPOSTリクエストを送信するとき、それは私のコードrequestStream.Write(bytes, 0, bytes.Length);
Xamarin AndroidのHttpWebRequestの、そして私はAndroidモバイルアプリを持っている、と私はいくつかのデータを投稿するサーバにWebRequestクラスを送信したいのですが、データを投稿する前に私はいくつかのデータを取得するためのHTTP GETリクエストを送信破棄されたオブジェクト
のこの行に怒鳴る例外をスローする例外は次のとおりです。
System.ObjectDisposedException:配置されたにアクセスできませんオブジェクト。 オブジェクト名: 'System.Net.Sockets.NetworkStream'。私は何の問題もなく、私の結果を受け取得し、ここで私のPOSTでこのコードの
public void GetTokenInfo() { try { var uri = new Uri(string.Format(_host + "webserver/SesTokInfo", string.Empty)); var webRequest = WebRequest.Create(uri); using (var response = webRequest.GetResponse() as HttpWebResponse) { using (var requestStream = response.GetResponseStream()) { using (var reader = new StreamReader(requestStream)) { var content = reader.ReadToEnd(); XmlDocument xDocument = new XmlDocument(); xDocument.LoadXml(content); XmlElement root = xDocument.DocumentElement; if (IsResponseReturned(root)) { GlobalConfig.SessionId = root.GetElementsByTagName("SesInfo")[0].InnerText; GlobalConfig.Token = root.GetElementsByTagName("TokInfo")[0].InnerText; } } } } } catch (Exception exception) { Debug.WriteLine(exception); } }
:
public WebResponse PostData(string body, string url) { WebResponse webResponse = null; try { var uri = new Uri(string.Format(_host + url, string.Empty)); var webRequest = (HttpWebRequest)WebRequest.Create(uri); webRequest.Headers.Add("Cookie", GlobalConfig.SessionId); webRequest.Headers.Add("_RequestVerificationToken", GlobalConfig.Token); webRequest.Method = "POST"; webRequest.ContentType = "application/xml"; byte[] bytes = Encoding.UTF8.GetBytes(body); webRequest.ContentLength = bytes.Length; Stream requestStream = webRequest.GetRequestStream(); requestStream.Write(bytes, 0, bytes.Length); webResponse = webRequest.GetResponse(); } catch (Exception exception) { Console.WriteLine(exception); } return webResponse; }
とここで私のGETとPOSTリクエストコードは GETです私は、検索および方法を試してみましたが、私は解決策を取得していない、とプラス私は最初の関数をコメントしたときに、唯一の第2の機能を実行し、それが正常に動作しますが、私は最初にした後、第2の実行時に例外をスローしています最初のコードからストリームとWebレスポンスを処理することは何ですか? 私は文を使用してすでにそれらを処分すると思います。
ありがとうございました。
ありがとうございました。私はGetResponseへの呼び出しを取得する前に、それは例外requestStream.Write(バイト、0、bytes.Length)をスローする、インターネットにnected。私はバイトを書くと、私は2番目のメソッドを実行するときに動作しているが、私は最初のメソッドを実行し、次に2番目のメソッドは、例外、任意のアイデアをスローするとき? –