Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SilverLight 2.0的C#Web请求_C#_Silverlight_Webrequest - Fatal编程技术网

SilverLight 2.0的C#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

我一直在使用下面的代码从SilverLight中的Apache2.2获得一个简单的web响应,但毫无用处

    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

“没有用。”-您能澄清发生了什么吗?“没有用。”-您能澄清发生了什么吗?