【问题标题】:Running a background thread in a custom session state provider在自定义会话状态提供程序中运行后台线程
【发布时间】:2016-04-09 06:35:51
【问题描述】:

我想在自定义会话状态提供程序实现中运行后台进程。这将每 X 分钟执行一些自定义操作以检查提供程序的状态。 据我所知: 自定义提供者的初始化方法应该被调用一次。它是在自定义提供程序的初始化中完成的。 所以我可以在那里运行我的后台进程,直到该进程在应用程序池中被回收(并将再次运行)。 所以在阅读了线程实现之后,我可以使用后台线程似乎是最好的选择。

您如何看待这个实现?你有更好的方法吗?

问候,

【问题讨论】:

    标签: c# asp.net multithreading asp.net-mvc-4 session-state


    【解决方案1】:

    我终于能够改进我在问题中想知道的解决方案。

    在实现SessionStateStoreProviderBase的类的Initialize方法中运行我要运行的后台线程:

    public sealed class CustomSessionProvider : SessionStateStoreProviderBase
    {
    
    
        // Initialize the provider
        public override void Initialize(string name, NameValueCollection config)
        {
            try
            {
                Thread t = new Thread(() => MethodName(parameter1, parameter2));
                t.Start();
            }
            catch (Exception e) 
            { 
                //Exception executing the thread
    
            }
        }
    

    }

    【讨论】:

    • 你能告诉我们你做了什么吗?
    猜你喜欢
    • 2011-06-09
    • 1970-01-01
    • 2013-07-21
    • 2012-08-23
    • 2015-03-10
    • 1970-01-01
    • 2011-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多