C# WCF服务如何获取查询参数?

C# WCF服务如何获取查询参数?,c#,web-services,wcf,azure,query-parameters,C#,Web Services,Wcf,Azure,Query Parameters,我正在为Windows Phone应用程序开发Azure服务。我需要Azure服务来访问用户的OneDrive。接下来,我的场景应该是: 用户在WP应用程序上登录到Windows Live Live web服务将授权代码发送到我定义的重定向URI,代码作为名为code的查询参数附加,如下所示: 我获取授权码并访问用户数据 在对服务进行了大量调查之后,我仍然找不到在web服务中捕获查询参数的方法。由于我对这个领域还不熟悉,我不知道该把重点放在哪里。如果您能给我提供建议或回答我的以下问题,我将

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

  • 用户在WP应用程序上登录到Windows Live
  • Live web服务将授权代码发送到我定义的重定向URI,代码作为名为code的查询参数附加,如下所示:
  • 我获取授权码并访问用户数据
在对服务进行了大量调查之后,我仍然找不到在web服务中捕获查询参数的方法。由于我对这个领域还不熟悉,我不知道该把重点放在哪里。如果您能给我提供建议或回答我的以下问题,我将不胜感激:

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

  • 谢谢

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

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

    因此,如果您的服务的基址为“”,则在向“”发出http GET请求时,将调用OAuthCallback方法。

    非常感谢,您的回答让我很清楚。但是测试这项服务的正确方法是什么?我可以简单地访问浏览器中的“”,还是应该编写另一个服务主机?谢谢当然您可以使用浏览器或任何可以创建简单http get的工具。小提琴手,wget,浏览器,。。。您还可以使用WCF测试您的服务。如果您使用ChannelFactory和webhttpbinding创建通道,则调用将作为与uri模板匹配的http get调用。非常感谢!你的帮助对我来说真的很重要,一个初学者:)遗憾的是我没有足够的声誉来投票支持你。我很高兴我能帮上忙。也许你可以接受我的回答作为解决你问题的办法。