Web服务方法调用url

时间:2012-09-11 21:45:17

标签: c# web-services asmx webmethod

我有一个web服务,它有自己的wsdl,当我打电话给我的网络服务时,一切正常。

我现在要做的是从我的Web服务方法中的某个地方调用url。在c#代码后面,我可以这样做:

Response.Redirect("Insurance.aspx?fileno1=" + txtFileNo1.Text + "&fileno2=" + txtFileNo2.Text + "&docid=" + Convert.ToString(GridView1.SelectedDataKey[2]));

但asmx页面上没有Response.Redirect选项。

这样的事情可能吗?如果是这样,那么任何人都可以告诉我如何表示感激。我尝试过到处搜索,但只能找到关于调用Web服务或在其他Web服务中调用Web服务但没有关于从Web服务中调用URL的主题。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

Response.Redirect方法向浏览器发送状态代码300,将用户引导至新页面。您要做的是创建一个WebRequest并解析响应:

string url = string.Format("www.insuranceini.com/insurance.asp?fileno1={0}", txtfileno1);
WebRequest request = HttpWebRequest.Create(url);
using(WebResponse response = request.GetResponse())
{
    using(StreamReader reader = new StreamReader(response.GetResponseStream()))
    {
        string urlText = reader.ReadToEnd();
        //Do whatever you need to do
    }
}

编辑:我将WebResponse和StreamReader对象包装在using语句中,这样一旦你完成它们就会被正确处理掉。