c# - ASP.NET WebAPI 方法只能在本地工作,但不能在 WebServer 上工作
问题描述
我创建了一个 WebAPI,所有路由和方法都可以在本地完美运行: WebAPI Local
问题是当我把它放在我的网络服务器上时(本地和网络测试在同一台服务器上,所以到数据库的连接字符串是正确的。)。
标准网站和标准方法正常工作,但我创建的不起作用(500 Internal Server Error):
WebAPI Server Web
WebAPI Server Web Default Methods
WebApi Server Web Default WebSite
它如何在本地而不是网络上完美运行?因为代码中没有任何变化?
错误就好像 url 不存在。
这些是 web api 方法和 RouteConfig 文件的代码
[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-在 -a-domain-controller 上
之后我指向 SQLServe 实例而不是 LocalDB 并且它起作用了。
解决方案
您需要提供有关您的控制器的更多信息
如果不存在,请将其放在控制器上
[Route("api/[controller]")]
推荐阅读
- c++ - OpenGL 2D纹理无法正确显示c ++
- css - MaterialUI:如何覆盖 InputBase 组件中的 webkit-autofill 样式?
- python - 循环返回输入
- ios - Swift 4/5 设置将代理添加到 WKWebview
- html - 如何使用bootstrap4在小屏幕上将div从div内部移动到它的正下方
- mysql - 如何将 MySQL 日期(时间戳)字段默认为现在
- python - 从自由格式文本中提取文件路径
- javascript - 从 Swagger 生成静态 Javascript 客户端以在 React Native 中使用
- javascript - 组合两个工作脚本不再有效。将短信发送到手机的书签
- javascript - 使用 React-Native 中的按钮从抽屉导航屏幕到抽屉导航屏幕的方法是什么?