0

オブジェクトを使用して、ASP.Net アプリケーションから PHP にデータを POST しようとしていHttpWebRequestます。しかし、Request使用してコンテンツを読み込もうとすると

Stream myStream = myWebReq.GetRequestStream();

エラーが発生します

「responseStream.Length」が「System.NotSupportedException」タイプの例外をスローしました。
長さ = 'dataStream.Length' はタイプ 'System.NotSupportedException' の
例外をスローしました位置 = 'dataStream.Position' はタイプ 'System.NotSupportedException' の例外をスローしました

ここにコードがあります

string strURL = null;
HttpWebRequest myWebReq = default(HttpWebRequest);
HttpWebResponse myWebResp = default(HttpWebResponse);

byte[] byteData = null;
StreamReader sr = default(StreamReader);
strURL = "http://people.com.pk/nppm/hrms_ppm_service.php?dump=1";
myWebReq = (HttpWebRequest)WebRequest.Create(strURL);
myWebReq.ContentType = "application/x-www-form-urlencoded; charset=utf-8";
myWebReq.Method = "POST";

Label1.Text = Newtonsoft.Json.JsonConvert.SerializeObject(batches).ToString();

byteData = UTF8Encoding.UTF8.GetBytes(Label1.Text);
myWebReq.ContentLength = byteData.Length;

myWebReq.KeepAlive = true;

if (myWebReq.Proxy != null)
{
   myWebReq.Proxy.Credentials = CredentialCache.DefaultCredentials;
}

Stream myStream = myWebReq.GetRequestStream();

if (byteData.Length > 0)
{
   myStream.Write(byteData, 0, byteData.Length);
   myStream.Close();
}

myWebResp = (HttpWebResponse)myWebReq.GetResponse();
sr = new StreamReader(myWebResp.GetResponseStream());
string strJSON__2 = sr.ReadToEnd();
Label1.Text = strJSON__2;
4

1 に答える 1

0

HttpWebRequest.DefaultCachePolicyあなたの物件をチェックするだけです。ドキュメントが示唆しているように、
HttpWebRequest.GetRequestStreamメソッドは、リクエスト キャッシュ バリデーターが、リクエストに対するレスポンスをキャッシュから提供できることを示している場合にのみスローします。ただし、データを書き込む要求はキャッシュを使用してはなりません。この例外は、正しく実装されていないカスタム キャッシュ バリデーターを使用している場合に発生する可能性があります。NotSupportedException

于 2013-11-13T08:01:32.240 に答える