0

.aspx で終わる Web サービスから応答を送信して取得する必要があります。HTTP post メソッドを使用しました。それは最善の方法ですか?Web サービスの応答を待つにはどうすればよいですか? 応答を送信して取得するには、次のコードを使用しています。しかし、Webサービスがないため、テストできません。

WebRequest _request = WebRequest.Create("https://somewebsite.com/webservices/XMLInbound.aspx");
_request.Method = "POST";
XElement xele = new XElement("RAFeed");//Substitute here with XML File that is created with all the parameters
byte[] bytearray = Encoding.UTF8.GetBytes(xele.ToString());
_request.ContentType = "application/x-www-form-urlencoded";
_request.ContentLength = bytearray.Length;
_request.Timeout = 5000;// Here i wait for the response is the correct way ?
//Gets the request as a stream
Stream datastream = _request.GetRequestStream();
datastream.Write(bytearray, 0, bytearray.Length);
datastream.Close();

//Gets Response

WebResponse response = _request.GetResponse();
//// Display the status.
//Debug.WriteLine(((HttpWebResponse)response).StatusDescription);          

datastream = response.GetResponseStream();
StreamReader reader = new StreamReader(datastream);
string responseFromServer = reader.ReadToEnd();//Response is in this string            
reader.Close();
datastream.Close();
response.Close();

var Rdoc = new XmlDocument();
Rdoc.LoadXml(responseFromServer); 
4

1 に答える 1

1

.aspx 拡張子を持つ Web サービスを作成しないでください。aspx ページ内に静的 Web メソッドを作成します。このような Web メソッドは、ページ メソッドと呼ばれます。これらは、Web メソッドをサービスとして公開したくない場合に作成されます。

これが望ましくない場合は、Web サービス (WCF または ASMX) を使用してください。

ページ メソッドの例: http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/

于 2013-10-25T16:42:15.073 に答える