ASP.NET Core 部署IIS及 OFFSET 附近有语法错误解决
程序员文章站
2022-03-04 13:16:21
今天自己开发了一个订机票的微信公众号,功能基本已经完成,然后想部署到服务器实际测试下。结果部署上去出现各种问题。先安装asp.net core模块,然后发现数据库并不像在开发时一样,执行ef的命令行语句就可以了。可以到输出目录找到对应的sql语句,到服务器上执行一下。 后来部署上去以后,发现很多对应... ......
今天自己开发了一个订机票的微信公众号,功能基本已经完成,然后想部署到服务器实际测试下。结果部署上去出现各种问题。先安装asp.net core模块,然后发现数据库并不像在开发时一样,执行ef的命令行语句就可以了。可以到输出目录找到对应的sql语句,到服务器上执行一下。
后来部署上去以后,发现很多对应控制器的action打开是404,感觉很奇怪,在web.config里面把日志输出打开。stdoutlogenabled="false"改为true。发现有错误,提示offset 附近有语法错误。出现这个错误的原因是我的开发环境是sqlserver2017,而部署的服务器用的是sqlserver2008,在2008版本之前的sql是meiyou 这种语法的。
解决方法:在startup.cs中的连接语句中添加userownumberforpaging
services.adddbcontext<applicationdbcontext>(optionsaction => optionsaction.usesqlserver( configuration["connectionstrings:defaultconnection"], b => b.userownumberforpaging()));