0

问题:在 Sharpoint + BPM 方案中,运行 Windows 2012 和 IIS 8,在应用程序池回收后,任何类型的进程的第一次调用失败,所有后续调用都成功。

从嵌入在 Sharpoint 解决方案中的 ascx 开始,每个进程类型一个 ascx,我们单击一个源自服务器的按钮。转移到创建假装进程类型的新实例的新页面,如果成功,我们从这里响应。使用查询字符串重写重定向到刚刚创建的新流程实例。如果出现错误(回收后的第一个过程),最后一步不会发生。

由于实例化进程的页面是动态的,根据选择的进程类型,它不能在启动解决方案之前预加载,如果我们在启动时强制这些页面的预实例化,我们最终可能会得到在每个新的应用程序池回收(每天一次)时,每个类型的一个虚拟进程。

问题:我怎样才能找到 [MyApp].XMLSerializers.dll 并卸载它,以验证我的理论,即它的缺失是导致第一个进程调用失败的原因?

尝试的解决方案:

  • 优化应用程序池和站点配置 无结果
  • 搜索 DLL 绑定错误 使用 FUSLOGVW,在回收应用程序池后,似乎在第一次尝试中,[myApp].XMLSerializers.DLL 等丢失了。由于这是一个耗时的步骤,并且在启用跟踪(即使仅针对事件查看器)时不会发生错误,我认为动态生成具有所有可序列化类型的 DLL 可能与此问题有关。

发现:

  • 影响不使用 Web 服务的进程
  • 当跟踪打开时没有错误
  • 影响所有环境

非常感谢任何建议非常感谢,LTS

4

0 回答 0