使用按钮单击调用restful服务

时间:2017-06-20 16:28:22

标签: c# restful-url wcf-rest

我希望通过点击我的网络应用程序

来调用get函数

我的应用程序中的代码是

protected void btngetbtanches_Click(object sender, EventArgs e)
    {
        try
        {


            HttpWebRequest req = WebRequest.Create(@"http://localhost:54691/") as HttpWebRequest;

            WebResponse resp = req.GetResponse();
            using (Stream branchstream = resp.GetResponseStream())
            {
                            StreamReader loResponseStream =
            new StreamReader(branchstream, Encoding.UTF8);

            string Response = loResponseStream.ReadToEnd();

            loResponseStream.Close();
            resp.Close();
            }
            }
        catch (Exception ex)
        {

        }
    }

在我的服务中

    [ServiceContract]
    public interface IRestSerivce
    {
        [OperationContract]
        [WebGet(UriTemplate = "Default")]
        string GetBranchData();


    }     
}

}

获取数据在服务项目的另一个文件中定义。当我尝试单击该按钮时,会返回一些html,并且不会调用该服务。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

您的网络请求与服务的终点不符:

你应该尝试:

HttpWebRequest req = WebRequest.Create
        (@"http://localhost:54691/RestSerivce/GetBranchData") as HttpWebRequest;

或至少与您的路由匹配的那个。

您还可以将服务添加为引用并使用它的类型,这是一种常见的方法。

您可以查看此答案以获取更多详细信息。 How to consume WCF web service through URL at run time?