5

私は作る方法を持っていますHTTP POST

私はこのようにtry catchでこのメソッドを呼び出します

try
{
   returnString = MakePost(gatewayEnpoint, data);
   return returnString;
}
catch (System.Net.WebException ex)
{
   var response = (HttpWebResponse)ex.Response;
   if (response.StatusCode != HttpStatusCode.RequestTimeout || response.StatusCode != HttpStatusCode.InternalServerError)
   {
       return ex.Message.ToString();
   }
}

ただしresponse、常に null です。

HTTP 例外を処理するにはどうすればよいですか? ステータスコードが必要です

ありがとう

4

1 に答える 1

6

クライアントがサーバーに接続することさえできなかった場合、応答はありません。

応答がある場合は、404ステータスコードなどです。

応答がない場合は、他の間違いを犯している可能性があります(たとえば、存在しないサーバーに接続しようとしている)。

ちなみに、現在と同じように成功とエラーのケースを返さないことを強くお勧めします。

于 2012-11-06T10:52:53.633 に答える