繁体   English   中英

将ApplicationState的内容保存在ASP.Net(MVC)中

[英]Saving contents of ApplicationState in ASP.Net (MVC)

我有一个内部应用程序,用于编辑磁盘上的XML文件。 XML文件被加载到存储在ApplicationState中的对象模型中。

我需要保存此数据。 一种选择是在用户每次更改某些数据时执行此操作。 但是,这似乎效率不高-每次进行更改时都将数据写到磁盘上。

相反,是否有可能在用户关闭浏览器时以及在Web服务器退出之前得到通知? 因此,每次会话结束时,以及计算机关闭时等,数据都将被保存。我认为Global.asax中的Application_End(),Application_Error()和Session_End()会提供此功能,但是这些方法没有提供似乎被称为。

Session_End应该被调用。

您正在运行哪个版本的IIS,或者您正在Visual Studio开发服务器中托管?

使Session_End启动的步骤:

  1. 在VS 2008中创建一个新网站

  2. 编辑web.config:

    <sessionState mode="InProc" cookieless="true" timeout="1"/><system.web>

  3. 使用以下代码添加一个Global.asax文件。

    void Session_End(object sender, EventArgs e)

    {

    Console.WriteLine( "Session_End" );

    }

  4. Console.WriteLine调用上设置一个断点。

  5. 按F5键,查看IE或Firefox中的页面加载情况。

  6. 等待1分钟左右。

  7. 断点应在IDE中以红色突出显示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM