WinForm/C# 集团 ERP 打开报错 “在升级过程中发生了某些错误。”

xinggang · 2018年05月25日 · 72 次阅读

偶尔在打开集团 ERP 时会提示升级错误,详细错误内容如下:
在升级过程中发生了某些错误,详细信息是远程服务器返回错误: (500) 内部服务器错误。
如图:
20180525082801

下面分析可能的原因:

  1. 因为是远程服务器返回的错误,并且状态码是 500,所以很确定是升级服务器的 web 网站代码发生了异常。
  2. 查看服务器 IIS 日志,找到异常详细错误信息如下图。
    20180525083617
  3. 于是可以定位到异常发生的代码为 FileUpdateServices.UpdateHandler.ProcessRequest() 方法,方法里面在获取 datatable 时异常了。
  4. 查看自动升级源代码,发现想要的 datatable 是从 xml 文件中读取到 ds 中然后获取,在这里发生异常,xml 没有加载到 ds 中。

分析结论:

1.首先自动升级网站从 xml 文件转 dataset 时有时加载的 dataset 为 null,没有进行判断造成空对象引用异常。
2.猜测多人同时访问时 xml 读取可能被占用造成加载不到 dataset 中。

有没有好的解决方案

zenglanlan 回复

有没有好的解决方案`

需要优化自动升级项目源代码~

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册