在自定义会话状态提供程序中运行后台线程

时间:2016-01-05 12:23:02

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

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

您对此实施有何看法?你看到了更好的方法吗?

此致

1 个答案:

答案 0 :(得分:0)

最后,我能够改进我在这个问题中想知道的解决方案。

运行我想在实现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

        }
    }

}