【问题标题】:Owin startup happens more than onceOwin 启动不止一次发生
【发布时间】:2016-06-15 13:27:02
【问题描述】:

在我们开发的 web api 2 应用程序中,在运行 web 服务器时,由于某种原因,Owin Startup 方法不止一次发生。这有什么具体原因吗?我应该在哪里查看以防止它?

谢谢!

【问题讨论】:

  • 也许你在构造函数中调用了一个方法,然后又在其他地方调用了这个类方法? - 不调试很难说
  • 这是代码的第一行,没有人调用它。只有运行应用程序才会导致到达这些行。我很确定这是错误的配置或其他问题,还无法弄清楚

标签: c# asp.net-web-api asp.net-web-api2 owin


【解决方案1】:

检查在类中添加的 Assembly 属性,因此首先它注册了 owin 然后触发它也是静态的

【讨论】:

  • 我有检测 Owin 启动的属性。您能否更详细地解释一下,您的具体意思是什么?
【解决方案2】:

在启动时设置一个断点,并在每次在断点处停止时检查调用堆栈窗口。这将告诉您从哪里调用它。

当您添加了 OWIN startup detection 设置并且您还在代码中添加了显式启动时,我也看到了这种情况 - 例如在您的 WebApi 配置中。订购也可能是一个问题。

【讨论】:

  • 但它是应用程序的顶级根,运行的第一行,没有人从代码中调用它
  • 你是在说你休息一下看看 Environment.StackTrace 它除了ctor之外什么都没有?我原以为您会在堆栈中看到更高的框架组件/包。
  • 在我的回答中添加第二个想法。
  • 对于启动检测,我使用属性方法。您认为 web.config 可能有什么问题?
猜你喜欢
  • 2014-04-21
  • 2014-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多