wcf - WCF 服务中的 IncomingWebRequestContext.UriTemplateMatch null

标签 wcf oauth .net-4.5

我正在尝试在 Web 服务中实现 OAuth,例如:

http://www.codeproject.com/Tips/372422/Secure-WCF-RESTful-service-using-OAUTH

每次,当 Authenticate 方法触发时,WebOperationContext.Current.IncomingRequest 存在,但 UriTemplateMatch 为 null。即使使用 WCF 测试客户端时也是如此,因此我的客户端应用程序不是问题。最终,我需要访问 UriTemplateMatch 下的 QueryParameters

Authenticate方法中,这是代码中断的地方:

NameValueCollection pa = context.UriTemplateMatch.QueryParameters;

寻找与此不同的解决方案,以便所有内容都在一个请求中处理:

https://stackoverflow.com/questions/7344478/using-the-wcf-http-web-api-uritemplatematch-is-always-null

此外,与解决方案一样,我正在寻找仅在 WCF 服务的情况下 UriTemplateMatch 为 null 的原因。有数百篇关于此问题存在的文章,但我还没有找到好的解决方案和/或解释。我想我的 web.config 中可能缺少某些内容。

最佳答案

看来这个解决方案需要像这样的来电:

http://localhost:49262/TestProject/Service.svc/user/123?oauth_consumer_key=key&oauth_nonce=10a33ed37b549301644b23b93fc1f1c5&oauth_signature=cUobFDxVB5wjPe9X2XICJ6awmnE%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1289976718&oauth_version=1.0

附加oauth参数有两种方法,一种是通过 header ,另一种是通过查询字符串,两者都有效,所以我选择在查询字符串中附加oauth参数。如果这些 oauth 参数位于 header 中,则从 IncomingWebRequestContext.Headers 检索它们没有任何问题

这个解决方案不是我提供的。检查这个link .

关于wcf - WCF 服务中的 IncomingWebRequestContext.UriTemplateMatch null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17580388/

相关文章:

c# - WCF:App.config 中的配置是否比自定义代理类中的硬编码更好?

c# - HttpModule 和 WCF (AspNetCompatibilityRequirementsMode.Allowed)

c# - 如何异步调用wcf服务

ios - AppDelegate 中未调用应用程序 openURL 函数

c# - 任务并行库代码在 Windows 窗体应用程序中卡住 - 作为 Windows 控制台应用程序正常工作

c# - 代码分析警告CA1506 : "Avoid excessive class coupling"如何解决

wcf - IIS7、ARR 和 WCF……我们可以对应用服务器进行负载平衡吗?

java - [Java] 插入 SQL 时出错,表中自动递增 - userId

Android Twitter 登录按钮不起作用

c# .net 4.5 async await Task.Wait() 阻塞问题