云服务器上IIS部署ASP.NET应用和本地部署得到的结果不一样

发布于 2022-09-02 15:52:56 字数 1762 浏览 37 评论 0

  1. 如题,开发了一个小的ASP.NET Web API 应用,选择了部署环境为腾讯云服务器(Windows Server 2012 R2镜像)以及使用它的Mysql的云数据库,出现了返回数据不一致的情况,下面以一个API的例子的具体情况阐述,如下所示:

  2. 出错情况分析:

  • 本地开发调试+本地数据库
    本地开发+本地库

  • 本地IIS部署+云数据库
    本地部署+远程库

  • 云服务器IIS部署+云数据库
    图片描述

Web.config的连接字符串

<connectionStrings>
    <add name="MysqlConnString" connectionString="Data Source=**云数据库公网地址**;Port=**端口**;Initial Catalog=um;User ID=****;password=****;Charset=utf8" providerName="MySql.Data.MySqlClient;"/>
  </connectionStrings>

尝试的应对措施

  • 部署的时候一开始是使用传统的文件系统发布,然后把文件夹拷贝到云服务器下再在云下的IIS创建虚拟目录的做法,出现2中第三种这种情况之后换成用Web Deploy包发布,同时尝试在本地IIS也部署这个Web Deploy包,发现本地IIS可以而云端依然不行。

  • 在连接字符串上部署云端的时候改用过云数据库的内网地址也不行,同时在驱动上从代码可以看到是MySQL Connection/NET,也尝试过用odbc的驱动providerName="System.Data.Odbc;也不行(其实关于这方面我不太清楚,在云端的win server上只安装成功了Mysql 以及 MySQL Connection/NET驱动,可能有什么欠缺的步骤)

  • 程序上应该是没有错误的,否则部署到本地的时候应该报错了,而云服务器也没报错,只是返回数据不一样

  • 在云服务器上是可以通过mysql登陆到云数据库上的,就是云服务器到云数据库之间的连接时可以得

  • 之前怀疑是没有启用加载web.config配置,后来也设置了,依然不行图片描述

3.解决方案求指导
所以我现在就有点疑惑了,到底问题出在哪里?是代码上,程序生成、发布、部署上抑或是IIS的配置上。希望可以得到答案或者是类似的经验之谈,菜鸟不胜感激

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

樱娆 2022-09-09 15:52:56

如果你確定所有配置一樣的情況下,我建議使用調試日誌的形式去找出問題,就在代碼里每執行一段輸出日誌到文件里,然後你才可以看到服務器端的程序到底發生了什麽事

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文