发布
社区首页 >问答首页 >ASP.NET WebAPI方法只在本地工作,而在WebServer上不工作

ASP.NET WebAPI方法只在本地工作,而在WebServer上不工作
EN

Stack Overflow用户
提问于 2020-06-26 02:28:09
回答 1查看 220关注 0票数 1

我创建了一个WebAPI,所有的路由和方法都在本地完美地工作:WebAPI本地

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

标准网站和标准方法正常工作,但我创建的网站和标准方法不起作用(500内部服务器错误):

WebAPI服务器网络

WebAPI服务器的默认方法

WebApi服务器网站默认WebSIte

它怎么能完美地在本地而不是网络上工作呢?因为代码里什么都没变?

错误就好像url不存在一样。

这些是web方法和RouteConfig文件的代码。

代码语言:javascript
代码运行次数:0
复制
        [Route("WebApi/Users/GetAll")]
        [HttpGet]
        public IEnumerable<User> GetAll()
        {
            return _userRep.All;
        }
代码语言:javascript
代码运行次数:0
复制
        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 server时遇到了问题,但我使用本教程管理:id/1089877/~/安装-sql on-a域控制器

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

EN

回答 1

Stack Overflow用户

发布于 2020-06-26 03:19:25

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62587099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档