Json を取得して設定しようとしましたが、「endgetresponse」に例外があります。
public void GetSetJsonString (string message)
{
this.message = message;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(myurl);
request.ContentType = "application/json; charset=utf-8";
request.Accept = "application/json";
request.Method = "POST";
request.CookieContainer = new CookieContainer();
request.CookieContainer.Add(myurl, myfirstcookie);
request.CookieContainer.Add(myurl, mysecondcookie);
request.BeginGetRequestStream(new AsyncCallback(GetRequestStreamCallback), request);
}
private void GetRequestStreamCallback(IAsyncResult asynchronousResult)
{
HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;
Stream postStream = request.EndGetRequestStream(asynchronousResult);
byte[] byteArray = Encoding.UTF8.GetBytes(message);
postStream.Write(byteArray, 0, byteArray.Length);
postStream.Close();
request.BeginGetResponse(new AsyncCallback(GetResponseCallback), request);
}
private void GetResponseCallback(IAsyncResult asynchronousResult)
{
HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;
HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult);
Stream streamResponse = response.GetResponseStream();
StreamReader streamRead = new StreamReader(streamResponse);
string answer = streamRead.ReadToEnd();
streamResponse.Close();
streamRead.Close();
}
}
行で HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult);
私はこの例外を取得しました:
{System.Net.WebException: リモート サーバーがエラーを返しました: NotFound. ---> System.Net.WebException: リモート サーバーがエラーを返しました: NotFound。System.Net.Browser.ClientHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult) で System.Net.Browser.ClientHttpWebRequest.<>c_ DisplayClasse.b _d(Object sendState) で System.Net.Browser.AsyncHelper.<>c_ DisplayClass1.b _0 (Object sendState) --- 内部例外スタック トレースの終了 --- プロジェクトの System.Net.Browser.ClientHttpWebRequest.EndGetResponse(IAsyncResult asyncResult) で System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state) で。 System.Net.Browser.ClientHttpWebRequest.<>c_DisplayClass1d で GetSetJson.GetResponseCallback(IAsyncResult asynchronousResult) 。_1b(オブジェクト状態2)}
不思議なことに、間違って送信した Json メッセージを送信すると、例外が発生せず、サーバーからエラー メッセージが返されました。
この例外が発生した理由と、この問題を解決する方法がわかりましたか?
どうもありがとう!