【发布时间】:2015-06-24 19:55:18
【问题描述】:
我正在使用 OWIN 的 WebAPI 2 项目中实现 NHibernate 会话工厂。下面是我的启动课程的 sn-p。我注意到每次在调试环境中加载页面时都会调用 Startup。这似乎非常昂贵,并且 SessionFactory 应该在每个应用程序生命周期内只创建一次。
如何避免这种情况?我认为重复的电话引起了问题。我收到的错误似乎与在 OWIN 中多次创建的会话工厂有关。
Public Class Startup
Public Sub Configuration(app As IAppBuilder)
GlobalConfiguration.Configure(AddressOf WebApiConfig.Register)
app.CreatePerOwinContext(AddressOf MobLib.MobDataProvider.CreateProvider)
End Sub
End Class
更新
我已经确认Configuration 只运行一次,但每次页面加载时都会调用CreateProvider。这是设计的吗?
【问题讨论】:
-
希望您不要从某个地方自己调用 Startup 类方法的 Configuration 方法,因为它是自动可检测的。
-
Configuration没有在任何地方显式调用,仅通过检测。 -
你能在 POC 中复制它并分享吗?我真的很想知道为什么会这样,因为这并不常见。
-
现在深入研究它。我只是希望这是其他人犯的一个愚蠢的错误,可以启发我:)
标签: nhibernate asp.net-web-api2 owin