c# Uri Templates
本文关键字:Templates Uri | 更新日期: 2023-09-27 18:01:33
我是REST服务开发的新手,我目前正在编写一个WCF REST服务,它必须支持现有的调用格式。
我知道通过添加
[WebInvoke(Method = "GET", UriTemplate = "{id}/testid.xml")]
string testid(string id);
到我的webmethod请求将使用:
http://(主机名)/255/testid.xml
我想要的是能够做的请求使用http://255/(主机名)/testid.xml
请注意,该服务托管在Windows服务应用程序中。
谢谢你的帮助!
你不能。给定URI的结构如下:
如http://host/path?q=x
这可以分解为:
- http://- the Scheme
- host/- 权限
- 路径- 路径
- ?q=x - 查询字符串
URI模板只作用于URI的Path和Querystring组件。不能以这种方式访问方案和授权机构。
要在URL的参数中使用特殊字符,必须配置HttpListenerRequestUriBuilder。此构建器根据设置不转义或不转义编码。你可以将这段代码添加到你的app.config文件中:
<configuration>
<system.net>
<settings>
<httpListener unescapeRequestUrl="false"/>
</settings>
</system.net>
</configuration>
不可能。不能在域名和服务名称前的uri中添加参数或不能传递参数。