也就是说,这两个都处理
在部署的代码中。
* kebab-shop.intra.net/takeaway.asmx
* kebab-shop.intra.net/kebab/get/...
是的,这绝对是可能的。如果您有一个 WCF 服务,您可以轻松地为同一服务公开两个单独的端点 - 一个使用例如basicHttpBinding
(大致相当于 ASMX),另一个带有webHttpBinding
(REST).
完整的 URL 必须不同 - 但我相信第一部分可以相同。
如果您在 IIS6 中托管,则需要一个虚拟目录,这将部分决定您的 SOAP 端点 - 它必须类似于:
http://kebab-shop.intra.net/YourVirtDir/takeaway.svc
(or: http://kebab-shop.intra.net/YourVirtDir/takeaway.asmx
如果您坚持使用 ASP.NET 旧版 Web 服务)。
REST 端点可以位于同一虚拟目录中并定义 URI 模板,例如你可以有类似的东西:
http://kebab-shop.intra.net/YourVirtDir/TakeKebab/gbn
或类似的 URL。
However:我自己检查了一下,发现您不能让两个服务端点“实时”离开同一基地址 - 其中一个必须有另一个与其关联的“相对地址”。
所以要么你添加例如“SOAP”到您的 SOAP 端点
http://kebab-shop.intra.net/YourVirtDir/takeaway.svc/SOAP/GetKebab
http://kebab-shop.intra.net/YourVirtDir/TakeKebab/gbn
或者您向 REST 服务添加一些内容
http://kebab-shop.intra.net/YourVirtDir/takeaway.svc/GetKebab
http://kebab-shop.intra.net/YourVirtDir/REST/TakeKebab/gbn