在负载平衡环境中的一台服务器上随机出现的上下文中没有找到owin.Environment项

时间:2016-10-26 18:00:27

标签: asp.net asp.net-mvc asp.net-identity owin

我知道Stack Overflow上已经有很多与此问题相关的问题,但是我已经尝试了很多关于这个问题的事情,在我们的案例中,这个问题随机发生,偶尔发生在我们之间两个负载均衡的生产服务器(站点仍未生效)。

我们的问题是偶尔(可能是在部署或应用程序池回收之后,不确定它何时发生)我们的一个服务器(可以是随机的两个中的任何一个)将显示错误消息:

  

在上下文中找不到owin.Environment项目

并在堆栈跟踪中进一步说明:

  

尝试创建“XYZ.Controllers.RegistrationPageController”类型的控制器时发生错误,请确保控制器具有无参数的公共构造函数“

它的作用。

当其中一个服务器显示此错误消息时,另一个服务器使用相同的代码和配置正常工作。对于owin和ASP.NET Identity,在负载均衡环境方面有什么特别的考虑吗?

我已经尝试了所有可用的OWIN启动类检测方法,这里解释了https://www.asp.net/aspnet/overview/owin-and-katana/owin-startup-class-detection

  • 命名约定(命名空间中的Startup-class与程序集匹配 姓名)
  • OwinStartup属性(在Startup-class本身上)
  • 配置文件中的appSettings元素(指出
    appSettings元素中的startup-class owin:appStartup)

由于其中一台服务器工作并清除另一台服务器上的Temporary ASP.NET Files文件夹,因此所有这些工作都会使问题消失但只是暂时解决。

0 个答案:

没有答案