使用按钮单击调用宁静的服务

Posted

技术标签:

【中文标题】使用按钮单击调用宁静的服务【英文标题】:Call restful service using button click 【发布时间】:2017-11-23 07:35:59 【问题描述】:

我希望通过单击我的 Web 应用程序的按钮调用 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,并且不会调用该服务。

任何帮助将不胜感激

【问题讨论】:

html 是怎么说的? "\r\n \r\n 目录列表 -- /\r\n 看起来按钮正在返回服务的首页,但没有通过getdata 我认为你的网址不正确;它至少应该包含GetBranchData 【参考方案1】:

您的网络请求与服务的端点不匹配:

你应该试试:

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

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

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

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

【讨论】:

以上是关于使用按钮单击调用宁静的服务的主要内容,如果未能解决你的问题,请参考以下文章

设计一个宁静的服务

单击 Kendo UI 按钮调用服务器端 MVC 操作

ACID 如何在宁静的微服务架构中工作

PHP中的宁静调用

单击元素按钮时是不是会调用 Angular 8 中的生命周期挂钩

在按钮单击时使用 jquery 调用角度方法