使用 WCF HTTP Web API,UriTemplateMatch 始终为 null
我已经根据我找到的最新教程设置了我的服务,一切似乎都工作正常。
但是,
为了访问包含 QueryParameters 集合(例如?name=tom&age=20)的 WebOperationContext.Current.IncomingRequest.UriTemplateMatch 类,我需要将服务配置为使用 WebHttpBehavior。我设法让它工作的唯一方法是使用控制台应用程序中的 WebServiceHost 自行托管它。我无法通过 IIS 或 cassini 的 web.config 或 global.asax 使其工作。
我觉得奇怪的是,关于如何使用 web-api 的教程在将其托管在 IIS 中之前谈论了 IoC:这不是更有用吗?他们似乎都使用极其简单的服务,根本不使用查询字符串,带有 IoC!
以下是我发现的几乎提到问题但没有解决问题的资源:
I've setup my service according to the latest tutorials I've found, and everything seems to work fine.
HOWEVER,
In order to access the WebOperationContext.Current.IncomingRequest.UriTemplateMatch class which contains the QueryParameters collection (e.g. ?name=tom&age=20), I need to have the service configured to use WebHttpBehavior. The only way I've managed to get this to work is to self host it using WebServiceHost from a console application. I can't get it to work from the web.config or global.asax from IIS or cassini.
I find it strange that tutorials on how to use the web-api talk about IoC before hosting the thing in IIS: wouldn't that be far more useful? They all seem to use extremely simple services that don't use query strings at all, with IoC!
Here are the resources I've found that almost mention the problem but don't fix it:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你可以这样做:
http://localhost:12741/contact?name=George
产量:
You can do something like this:
http://localhost:12741/contact?name=George
yields: