我的解决方案有2个mvc项目和2个web-api项目。
** Mvc Projcet 1 - localhost:1230 /
** Mvc Project 2 - localhost:1231 / center /
** Api项目1 - localhost:1232 / api /
** Api Project 2 - localhost:1232 / api / file /
我想将web-api控制器发送到" Mvc Project 2"。 所以我安装了包' Microsoft.AspNet.WebApi'。 并完成了这样的配置。
WebApiConfig.cs
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
Global.aspx
protected void Application_Start()
{
DrDB.Common.AppInfo.AppType = "Web";
DrDB.Common.AppInfo.EntryAssembly = typeof(MvcApplication).Assembly;
System.Web.Mvc.AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
GlobalConfiguration.Configure(WebApiConfig.Register);
}
AcoountServiceController
namespace center.Controllers
{
[Authorize]
[RoutePrefix("api/Account")]
public class AccountServiceController : ApiController{
[Route("UserInfo")]
public UserInfoViewModel GetUserInfo()
{
ExternalLoginData externalLogin = ExternalLoginData.FromIdentity(User.Identity as ClaimsIdentity);
return "test";
}
}
}
然后我访问了localhost:1231 / center / api / Account / UserInfo /',我收到404错误。
无法加载资源:服务器响应状态为404(未找到)
所以,我尝试制作helpPage,Installed' Microsoft.AspNet.WebApi.Helppage'。 并且helpPage不仅显示了' AccountServiceController'还有 Api Project 1 的控制器。
我该如何解决? 我想使用' localhost:1231 / center / api / Account / UserInfo /'。