我创建了一个WebApi项目,它有多个WebApi控制器。根据我的要求,我必须添加一个MVC控制器到我的WebApi项目。我的客户端代码正在通过{ControllerName/ActionMethodName}
向该MVC控制器发出ajax请求。我在我的global.asax
文件多条路线:单独的MVC和webAPI控制器路由
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
routes.MapHttpRoute(
name: "ActionRoute",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
下面是我的ReportServiceBaseController
:
protected virtual ReportServiceBase CreateReportService();
[HttpPost]
public JsonResult LoadDocumentInfo(LoadDocumentInfoRequest request);
[HttpPost]
public JsonResult LoadDocumentMapInfo(LoadDocumentMapInfoRequest request);
[HttpPost]
public JsonResult LoadDocumentMapInfoFull(LoadDocumentMapInfoFullRequest request);
[HttpPost]
public JsonResult LoadPageInfo(LoadPageInfoRequest request);
我继承该控制器在ReportService
控制器:
public class ReportServiceController : ReportServiceBaseController
{
protected override PerpetuumSoft.Reporting.WebViewer.Server.ReportServiceBase CreateReportService()
{
return new ServiceClass();
}
}
客户端URL这正在提出要求:
的 “http://” +主机+ “/ ReportService的/ LoadDocumentInfo”
我认为的WebAPI路由抑制MVC控制器的路线。我怎样才能将MVC控制器路由从WebApi路由中分离出来?
,你能否告诉我们您认为此路由被抑制请求URL(一般他们的方式创建的路线是防止通过'api'抑制部分在URL中)。 – tpeczek 2013-03-13 11:07:45
我用编码编辑了问题。 – user1557847 2013-03-13 11:31:39