据我所知,RESTful WCF 的 URL 中仍然包含“.svc”。
例如,如果服务接口是这样的
[OperationContract]
[WebGet(UriTemplate = "/Value/{value}")]
string GetDataStr(string value);
访问 URI 类似于“http://machinename/Service.svc/Value/2 http://machinename/Service.svc/Value/2”。在我的理解中,REST 的部分优势在于它可以隐藏实现细节。像“这样的 RESTful URIhttp://机器名称/服务/值/2 http://machinename/Service/value/2“ 可以通过任何 RESTful 框架来实现,但是一个 “http://machinename/Service.svc/value/2 http://machinename/Service.svc/value/2”暴露了它的实现是WCF。
如何删除访问 URI 中的“.svc”主机?
我知道这篇文章现在有点旧了,但如果您碰巧使用 .NET 4,您应该考虑使用 URL 路由(在 MVC 中引入,但引入核心 ASP.NET)。
在您的应用程序启动(global.asax)中,只需使用以下路由配置行来设置默认路由:
RouteTable.Routes.Add(new ServiceRoute("mysvc", new WebServiceHostFactory(), typeof(MyServiceClass)));
那么你的 URL 将如下所示:
http://servername/mysvc/value/2
HTH
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)