Mat*_*cic 7 asp.net-mvc azure asp.net-web-api
如果Web API在localhost上运行,为什么Web API会停止在Azure网站上运行.
错误是加载资源失败:服务器响应状态为404(未找到)或您要查找的资源已被删除,名称已更改或暂时不可用.在浏览器中将URL粘贴到api时
注意: 我从未遇到过这个错误,我已经在使用Web Api属性路由的azure上有几个站点.
WebConfig
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
Run Code Online (Sandbox Code Playgroud)
RouteConfig
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Cities",
url: "Cities/{id}/{name}/{action}",
defaults: new { controller = "Cities", action = "Index" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
Run Code Online (Sandbox Code Playgroud)
Global.asax中
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
Run Code Online (Sandbox Code Playgroud)
Goggling透露这是一个常见问题:
在IIS 7.5中托管的Web Api中找不到HTTP 404页面
在Windows Azure网站上为ASP.NET Web API配置IIS方法
Azure中的ASP.NET MVC 4和Web API - 未找到HTTP资源
UPDATE
在尝试上面链接中建议的每个方法后,我已从解决方案中删除了所有*.dll,创建了一个新的MVC + Web API项目并将*.dll添加到解决方案中.构建和一切都按预期工作.
你尝试过这个设置吗?
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4789 次 |
| 最近记录: |