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

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 在路由路径中公开属于MVC应用程序中的区域的WCF服务前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个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”或更适合您需要的功能.

原文链接:https://www.f2er.com/aspnet/250702.html

猜你在找的asp.Net相关文章