Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在IIS上承载wcf路由服务?_C#_.net_Wcf_Iis_Wcf Routing - Fatal编程技术网

C# 如何在IIS上承载wcf路由服务?

C# 如何在IIS上承载wcf路由服务?,c#,.net,wcf,iis,wcf-routing,C#,.net,Wcf,Iis,Wcf Routing,这与我的问题有关 因此,我已经有一个现有的wcf服务在运行,托管在IIS上。我创建了一个路由器服务,它将在头上执行一些XPath过滤。因此,如果标题匹配,则转到service1。 现在,我在IIS上托管了我的路由器服务,我可以像访问一样访问它,并给我这些wsdl内容。现在,当我尝试在service1上请求这样的服务方法时。它给我一个404错误。顺便说一下,我用过小提琴手 根据我通过fiddler的请求,我添加了自定义标题,如“service_version:1”。顺便提一下,我在上使用了一个名称

这与我的问题有关

因此,我已经有一个现有的wcf服务在运行,托管在IIS上。我创建了一个路由器服务,它将在头上执行一些XPath过滤。因此,如果标题匹配,则转到service1。 现在,我在IIS上托管了我的路由器服务,我可以像访问一样访问它,并给我这些wsdl内容。现在,当我尝试在service1上请求这样的服务方法时。它给我一个404错误。顺便说一下,我用过小提琴手

根据我通过fiddler的请求,我添加了自定义标题,如“service_version:1”。顺便提一下,我在
上使用了一个名称空间,但我不知道如何在请求中附加它。无论如何,我主要关心的是如何使我的路由器服务在IIS上工作

更新:顺便说一下,我正在使用
System.ServiceModel.Routing.RoutingService
。因此,我试图完成的是路由服务


非常感谢您的帮助。

您可能会面临这一问题。SOAP服务不能通过这种方式访问,因为它依赖于SOAP包。下面是另一篇文章,它将引导您走向正确的方向。然而,它引导您的方向是手工测试SOAP服务是不可取的,而且可能是徒劳的

然而,值得注意的是,它引导您使用WCF测试客户机——这是最好的选择,我的朋友,它非常容易使用。提供URL,它将完成其余的工作

访问RESTful端点

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

您也可以查看此链接


是的,先生。我有一个现有的wcf服务,它已经在工作了,我想为版本控制做一些路由选择。你以前用这种方法测试过这个服务吗?我问这个问题的原因是,如果它是一个SOAP服务,你就不会用这样的URL访问它——SOAP包必须被构造并发送进来。对不起,先生,误导了你。我的服务可以使用SOAP和REST。所以我试着直接请求像这样的服务1。我修改了我的答案来解决这个问题-这应该会对你有所帮助。谢谢你的回复,先生。我的Service1正在以应有的方式工作,我可以向它发出请求。我试图完成的是路由服务。因此,我创建了一个路由器服务,用于路由到我现有的WCF服务。我现在的问题是我的路由器服务不工作。