ASP.NET WebAPI 方法仅在本地工作,但在 Web 服务器上不起作用



我创建了一个WebAPI,所有路由和方法都可以在本地完美运行: 网络接口本地

问题是当我把它放在我的 Web 服务器上时(本地和 Web 测试在同一台服务器上,因此数据库的连接字符串是正确的。

标准网站和标准方法工作正常,但我创建的方法不起作用(500内部服务器错误(:
WebAPI 服务器网站
WebAPI 服务器 Web 默认方法
WebApi Server Web Default WebSIte

它如何才能在本地而不是网络完美地工作? 因为代码中没有任何变化?

错误就像 url 不存在一样。

这些是 Web api 方法和路由配置文件的代码

[Route("WebApi/Users/GetAll")]
[HttpGet]
public IEnumerable<User> GetAll()
{
return _userRep.All;
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}

更新:查看Windows应用程序事件日志,我注意到与localdb相关的几个错误。我不知道为什么它不适用于 LocalDB。由于我的服务器也是域控制器,因此我在安装 SQL 服务器时遇到问题,但我使用本教程进行了管理: http://lexisnexis.custhelp.com/app/answers/answer_view/a_id/1089877/~/installing-sql-on -a-域控制器

之后,我指向SQLServe实例而不是LocalDB,它工作了。

您需要提供有关控制器的更多信息

如果不存在,请将其放在控制器上[Route("api/[controller]")]

相关内容

最新更新