可以在 Global.asax 中添加对业务对象层的引用吗

Is it ok to add reference to business object layer in Global.asax

我正在学习在 asp.net 网络表单应用程序中实现安全性。我正在使用简单的 formauthentication,有一个页面(不是登录)可以通过检查来自 url 的令牌并查看它是否存在于数据库 table 中来允许匿名访问。 经过网上研究,我目前的解决方案是:

web.config:

Global.asax:

我在网上看到一些帖子不建议在应用程序级别调用数据库连接。我想知道在我的情况下(需要检查数据库中的令牌),我可以在 Global.asax 中添加业务层引用吗?或者有更好的解决方案吗?谢谢!

正如 Arghya C 所说,看起来您正在使用业务对象来检查您的令牌是否有效。如果此方法访问您的数据库,则由您的业务层决定。

这里要注意的重要一点是你的 Global.asax 对数据库一无所知,这表明你的实现有很好的分离,不可能知道你正在对数据库进行身份验证如果你没说。