【问题标题】:How to host wcf Routing Service on IIS?如何在 IIS 上托管 wcf 路由服务?
【发布时间】:2012-06-06 03:13:04
【问题描述】:

所以这与我的问题here有关。

所以我已经运行了一个现有的 wcf 服务,托管在 IIS 上。我创建了一个路由器服务,它将对标头进行一些 XPath 过滤。因此,如果标头匹配,则转到 service1。 现在,我在 IIS 上托管了我的路由器服务,我可以像 http://iis.com/myrouter/router.svc/ 一样访问它并给我这个 wsdl 东西。现在,当我尝试在 service1 上请求类似 http://iis.com/myrouter/router.svc/general/getMyMethod?blah=blahblah 的服务方法时。它给了我一个 404 错误。顺便说一句,我用过 fiddler。

根据我通过提琴手的请求,我添加了自定义标头,例如“service_version:1”。顺便说一下,我在<namespaceTable> 上使用了命名空间,但我不知道如何在我的请求中附加它。无论如何,我主要关心的是如何让我的路由器服务在 IIS 上工作?

更新:顺便说一句,我正在使用System.ServiceModel.Routing.RoutingService。所以我想要完成的是路由服务。

非常感谢您的帮助。

【问题讨论】:

  • 是的,先生。而且我有一个现有的 wcf 服务已经在工作,我想为版本控制做一些路由。
  • 您之前是否以这种方式测试过相同的服务?我问这个问题的原因是因为如果它是一个 SOAP 服务,你就不会使用这样的 URL 访问它 - 必须构造和发送 SOAP 包。
  • 对不起,先生误导了您。我的服务支持 SOAP 和 REST。所以我试过像这样直接请求 service1 。 iss.com/service.svc/getSomething?id=234234
  • 我修改了我的答案以解决这个问题 - 它应该对你有所帮助。

标签: c# .net wcf iis wcf-routing


【解决方案1】:

您很可能会遇到这种情况。不能以这种方式访问​​ SOAP 服务,因为它依赖于 SOAP 包。这是另一篇文章,应该会引导您朝着正确的方向前进。但是,它引导您的方向是手动测试 SOAP 服务不是可取的,而且可能是徒劳的。

但是,需要注意的是,它会引导您使用 WCF 测试客户端 - 这是我朋友的最佳选择,而且它非常易于使用。提供 URL,它会完成剩下的工作。

Invoke soap wcf service in Fiddler like in Wcf test client

访问 RESTful 端点

如果您尝试测试 RESTful 端点,则问题可能与配置的路由有关。请参阅此链接以获取帮助 - 确保您设置的服务相同,因为它们使用的属性正确构建了路由。请记住,您不会使用与 SOAP 端点相同的地址来引用 RESTful 端点。

http://geekswithblogs.net/michelotti/archive/2010/08/21/restful-wcf-services-with-no-svc-file-and-no-config.aspx

您也可以查看此链接。

Hosting WCF soap and rest endpoints side by side

【讨论】:

  • 谢谢您的回复先生。我的 Service1 正在按应有的方式工作,我可以向它发出请求。我想要完成的是路由服务。所以我创建了一个路由服务来路由到我现有的 WCF 服务。我现在的问题是我的路由器服务不工作。
猜你喜欢
  • 1970-01-01
  • 2012-07-06
  • 2022-12-13
  • 1970-01-01
  • 2020-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多