SilverLight 2.0的C#Web请求
我一直在使用下面的代码从SilverLight中的Apache2.2获得一个简单的web响应,但毫无用处SilverLight 2.0的C#Web请求,c#,silverlight,webrequest,C#,Silverlight,Webrequest,我一直在使用下面的代码从SilverLight中的Apache2.2获得一个简单的web响应,但毫无用处 private void bDoIt_Click(object sender, RoutedEventArgs e) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri("/silverlight/TestPage2.html")); request.Met
private void bDoIt_Click(object sender, RoutedEventArgs e)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri("/silverlight/TestPage2.html"));
request.Method = "POST";
request.ContentType = "text/xml";
request.BeginGetRequestStream(new AsyncCallback(RequestProceed), request);
}
private void RequestProceed(IAsyncResult asuncResult)
{
HttpWebRequest request = (HttpWebRequest)asuncResult.AsyncState;
StreamWriter postDataWriter = new StreamWriter(request.EndGetRequestStream(asuncResult));
postDataWriter.Close();
request.BeginGetResponse(new AsyncCallback(ResponceProceed), request);
}
private void ResponceProceed(IAsyncResult asuncResult)
{
HttpWebRequest request = (HttpWebRequest)asuncResult.AsyncState;
HttpWebResponse responce = (HttpWebResponse)request.EndGetResponse(asuncResult);
StreamReader responceReader = new StreamReader(responce.GetResponseStream());
string responceString = responceReader.ReadToEnd();
txtData.Text = responceString;
}
有人没有更好的方法来做这件事吗?你试过了吗?这存在于silverlight上,可能会让生活更轻松。想必你会想要的
还有-我相信你需要使用绝对url;如果您不想硬编码(相当合理),您可以从以下位置获取主机:
string url = App.Current.Host.Source.AbsoluteUri;
然后使用string/etc方法生成正确的“”
请注意,silverlight只允许(IIRC)连接到主机站点。您尝试过吗?这存在于silverlight上,可能会让生活更轻松。想必你会想要的
还有-我相信你需要使用绝对url;如果您不想硬编码(相当合理),您可以从以下位置获取主机:
string url = App.Current.Host.Source.AbsoluteUri;
然后使用string/etc方法生成正确的“”
请注意,silverlight只允许(IIRC)连接到主机站点。您可以执行BeginGetResponse调用,作为示例测试用例中的第一个调用,只有当您打算将一些POST数据传递到请求的页面时,才需要调用BeginGetRequestStream。您可以将BeginGetResponse调用作为示例测试用例中的第一个调用,只有当您打算将一些POST数据传递到请求的页面时,才需要调用BeginGetRequestStream。“没有用。”-您能澄清发生了什么吗?“没有用。”-您能澄清发生了什么吗?