【问题标题】:How can a WCF Service obtain Query Parameters?WCF 服务如何获取查询参数?
【发布时间】:2014-06-22 09:35:43
【问题描述】:

我正在为 Windows Phone 应用程序开发 Azure 服务。我需要 Azure 服务来访问用户的 OneDrive。按照这个article,我的场景应该是:

在Service中调查了很多之后,我仍然找不到在我的Web服务中捕获查询参数的方法。由于我是这个领域的新手,我不知道该关注哪里。如果您能给我建议或回答我的以下问题,我将不胜感激:

  1. 我可以在浏览器中使用带参数的url访问服务吗?如何查看服务是否正常运行?
  2. 一篇文章提到使用WCF [Web Get] 属性获取查询参数,但我仍然不知道如何实现IService1.cs 和Service1.cs 文件,你能给我一个关于如何访问的示例吗?查询参数的值?

谢谢!

【问题讨论】:

    标签: c# web-services wcf azure query-parameters


    【解决方案1】:

    我不确定我是否正确理解了您的问题,但如果您希望您的 RESTfull WCF 服务成为请求代码的回调接收器,您的服务必须使用类似于此的 WebHttpBinding 和 ServiceContract 托管。

    [ServiceContract]
    public interface IService
    {
        [WebGet(UriTemplate = "callback?code={requestCode}")]
        void OAuthCallback(string requestCode);
    }
    

    因此,如果您的 Service 的基址是“http://service.mydomain.com/MyService.svc”,则当向“http://service.mydomain.com/MyService.svc/callback?code=RequestCode”发出 http GET 请求时,将调用 OAuthCallback 方法。

    【讨论】:

    • 非常感谢,您的回答让我明白了。但是测试此服务的正确方法是什么?我可以在浏览器中简单地访问“service.mydomain.com/MyService.svc/callback?code=RequestCode”,还是应该写另一个服务主机?谢谢!!!
    • 当然。您可以使用浏览器或任何可以创建简单 http get 的工具。 Fiddler、wget、浏览器……您还可以使用 WCF 来测试您的服务。如果您使用 ChannelFactory 和 webhttpbinding 创建通道,则调用将作为与 uri 模板匹配的 http get 调用。
    • 非常感谢!你的帮助对我这个初学者来说真的很重要:) 可惜我没有足够的声望来投票给你。
    • 很高兴能帮上忙。也许您可以接受我的回答作为您问题的解决方案。 link
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多