我正在尝试在一个网站中部署WCF和asp.net服务。根站点是MVC应用程序,我将运行WCF作为站点的虚拟目录。然而,服务不能被访问,因为MVC的路由不会将请求中继到服务。它会显示“找不到页面”。
mvc <- http://PC:9000应用的根
我有一个名为" wcf“的wcf虚拟目录,
mvc <-应该已经访问了服务,但是http://pc:9000/wcf/service.svc的路由介入了,并且将显示找不到页面。
你知道怎么做吗?如果呼叫是针对服务的,我如何忽略路由?
发布于 2011-02-02 16:14:16
下面是我所做的:
因为根应用程序是MVC,所以当用户尝试访问虚拟目录中的WCF并尝试导航时,MVC将检测到用户尚未在WCF应用程序中进行身份验证。MVC要做的就是按照web配置的指示将其重新路由到身份验证表单页面。
要解决这个问题,只需在MVC的web配置文件中添加以下代码。
<location path="WCF">
<system.web>
<authentication mode="None">
</authentication>
</system.web>
</location>这意味着禁用WCF路径的身份验证。因此,当用户访问WCF服务时,它不会通知MVC WCF尚未进行身份验证,因此不会发生重新路由。
这解决了我的问题。
发布于 2011-02-01 16:08:41
尝试添加忽略路由:
routes.IgnoreRoute("{resource}.svc");https://stackoverflow.com/questions/4860188
复制相似问题