我創建了一個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