2

我有一个 web 服务,它有它的 wsdl,当我调用我的 web 服务时一切正常。

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

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

但 Response.Redirect 选项在 asmx 页面上不可用。

这样的事情可能吗?如果是这样,那么任何人都可以告诉我如何。我试过到处搜索,但只能找到有关调用 Web 服务或在另一个 Web 服务中调用 Web 服务的信息,但没有关于从 Web 服务中调用 url 的此类主题。任何帮助将不胜感激。

4

1 回答 1

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 语句中,以便在使用完它们后正确处理它们。

于 2012-09-11T22:01:20.553 回答