【问题标题】:ASP.NET MVC and Listener/EventASP.NET MVC 和监听器/事件
【发布时间】:2023-03-19 15:56:01
【问题描述】:

我想提高我的知识,因为我多次注意到,我确信我在开发时没有使用正确的做法,例如在 ASP.NET MVC 中导出 csv,我在控制器中创建了 4 个私有方法,这些方法执行必要的操作并返回数据。 我将 1 种方法、4 种方法结合起来,并在使用单击导出 CSV 时调用父方法。 这 4 种方法用在两个不同的地方。所以我可以将代码分解为一个,或者可以使用委托。当然。

所以我按照教程从 http://msdn.microsoft.com/en-us/library/aa645739(v=vs.71).aspx关于活动 和 http://msdn.microsoft.com/en-us/library/aa288459(v=vs.71).aspx关于委托

现在,我认为,在 Web 上下文中创建管理器事件的侦听器是不可能的。 我的假设是 Web 未连接环境,因此您每次都会丢失上下文。 你知道用 webContext 管理事件+监听器的技术方法吗?

如果您有任何有关要实现的模式的文档/链接,那将是一种阅读的乐趣。

【问题讨论】:

    标签: asp.net-mvc events listener


    【解决方案1】:

    您可以通过使用会话 ID 来引用同一会话,使您的 API(控制器操作/WEB API)“上下文/会话感知”。这样,您的服务器端逻辑将能够为您“记住”事物,从而模拟上下文的概念。

    当您从可扩展性的角度来看这种方法时,您的请求将由服务器集群中的许多服务器之一提供服务(除非您实施专用的会话共享机制),这种方法就不受欢迎了。

    最好的办法是实现一个业务服务层,它会封装所有的原子和重复逻辑,并让控制器操作/Web apis 来调用服务方法

    希望对你有帮助

    【讨论】:

    • 感谢您的回答,这可能是使用会话 ID 的好方法。没有其他方法可以做到。在业务层中我可以有效地封装很多东西,我需要考虑我的应用程序具有这种条件。
    猜你喜欢
    • 2014-02-21
    • 2020-05-06
    • 2020-11-29
    • 2019-12-02
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 2017-08-20
    • 1970-01-01
    相关资源
    最近更新 更多