我是REST服务开发的新手,我目前正在编写一个必须支持现有调用格式的WCF Rest服务。
我知道添加
[WebInvoke(Method = "GET", UriTemplate = "{id}/testid.xml")]
string testid(string id);
我的webmethod请求将使用:
http://[hostname]/255/testid.xml
我想要的是能够使用 http://255/[hostname]/testid.xml
请注意,该服务托管在Windows服务应用程序中。
感谢您的帮助!
答案 0 :(得分:1)
你不能。给定URI的结构如下:
这可以分解为:
URI模板仅适用于URI的Path和Querystring组件。无法以这种方式访问该计划和管理局。
答案 1 :(得分:0)
要在URL中使用参数内部的特殊字符,您必须配置HttpListenerRequestUriBuilder。此构建器是否取消基于设置的编码。您可以将此代码添加到app.config文件中:
<configuration>
<system.net>
<settings>
<httpListener unescapeRequestUrl="false"/>
</settings>
</system.net>
</configuration>
答案 2 :(得分:0)
这是不可能的。您无法在域名和服务名称之前添加参数或无法在uri中传递参数。您可以在Uri中添加域名和服务名称后的参数。