加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 在路由路径中公开属于MVC应用程序中的区域的WCF

发布时间:2020-12-15 23:40:35 所属栏目:asp.Net 来源:网络整理
导读:我有一个WCF服务(可以说TestService.svc坐在MVC应用程序的一个区域的服务目录中,这个区域被组合到主应用程序中,这个区域称为内容. 路线已经设置,该区域工作正常.要访问Home控制器上的Index操作,我可以执行以下操作之一: HTTP://我的主机/区域/内容/索引/家
我有一个WCF服务(可以说TestService.svc坐在MVC应用程序的一个区域的服务目录中,这个区域被组合到主应用程序中,这个区域称为内容.

路线已经设置,该区域工作正常.要访问Home控制器上的Index操作,我可以执行以下操作之一:

HTTP://我的主机/区域/内容/索引/家

要么

HTTP://我的主机/内容/索引/家

然而,SVC文件只能通过以下方式访问:

HTTP://my-host/areas/content/services/TestService.svc

URL必须包含区域目录,我无法通过http://my-host/content/services/TestService.svc直接访问它.如果我尝试我给错误404.

有没有办法设置应用程序,以便通过与控制器相同的路由表路由SVC请求?我不想使用区域的服务.

解决方法

如果您有自由使用.Net 4.0,您可能需要考虑通过 ServiceRoute而不是通过.svc文件使WCF服务可用.

这将使您能够避免使用TestService.svc.cs代码的TestService.svc文件.在您的Global.asax.cs中,您将具有以下内容:

public static void RegisterRoutes(RouteCollection routes,IUnityContainer container)
{
    ... other MVC route mapping ....
    routes.Add(new ServiceRoute("TestService",new ServiceHostFactory(),typeof(LoaEvents)));
}

然后可以通过http:// my-host / TestService访问您的服务.

您可能可以将“TestService”参数更改为“/ content / services / TestService”或更适合您需要的功能.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读