日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET MVC 实现与SQLSERVER的依赖缓存

發(fā)布時間:2025/4/9 asp.net 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET MVC 实现与SQLSERVER的依赖缓存 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
ASP.NET MVC 實現(xiàn)與SQLSERVER的依賴緩存 原文:ASP.NET MVC 實現(xiàn)與SQLSERVER的依賴緩存

本文主要是為了了解ASP.NET MVC 實現(xiàn)與SQLSERVER的依賴緩存的功能,針對自己對于這方面知識的學習的過程的一個記錄。由于本人也是初次了解這個知識點,有哪些錯誤,還望高手不吝賜教哦。好,下面正式進入話題。

1、測試的環(huán)境及工具: vs2012 sqlserver2008r2?

2、測試目的:當數(shù)據(jù)庫的值有變化時候,頁面的緩存也會及時更新。

具體步驟:

1、在VS2012中新建一個ASP.NET MVC 的空的項目。

2、新建一個HomeController ,并創(chuàng)建Index試圖。代碼很簡單,如下

public class HomeController : Controller{public ActionResult Index(){return View();}}

視圖代碼很簡單,就是輸出系統(tǒng)當前的時間,以便測試中能很清晰的判斷出訪問當前頁面時候,是緩存的數(shù)據(jù),還是從服務(wù)器最新返回的數(shù)據(jù)。

?

@{Layout = null; }<!DOCTYPE html><html> <head><title>Index</title> </head> <body><div>@{ Response.Write(DateTime.Now.ToString());}</div> </body> </html>

3、配置web.config文件,主要是<system.web>節(jié)點下的<caching>節(jié)點的配置,代碼如下

<connectionStrings><add name="TestConnectionString" connectionString="Data Source=.;Initial Catalog=test;Persist Security Info=True;User ID=sa;Password=sasa" /></connectionStrings> <caching><sqlCacheDependency enabled="true" pollTime="2000"><databases><add name = "test"connectionStringName = "TestConnectionString"/></databases></sqlCacheDependency></caching>

關(guān)于<sqlCacheDependency>的屬性,在此我就不詳細介紹了,相關(guān)資料大家查閱一下就可以。?

4、SQLSERVER2008的數(shù)據(jù)緩存依賴的功能配置。

檢查?Service Broker是否開啟:Select DATABASEpRoPERTYEX('test','IsBrokerEnabled')?? 如果為1表示成功,0表示未成功。

如未開啟執(zhí)行

ALTER DATABASE test SET ENABLE_BROKER GO

為sql緩存依賴啟用某表,也就是指定哪張表的數(shù)據(jù)有變化時候,會更新緩存信息。主要用到asp.net_regsql.exe,該文件存放于C:\Windows\Microsoft.NET\Framework\v4.0.30319 。

用法:打開命令提示工具,進入到asp.net_regsql.exe的所在目錄,執(zhí)行命令

aspnet_regsql.exe -S <Server> -U <Username> -P <Password> -ed -d <databaseName> -et -t <tableName>
將其中<>中替換成你自己測試時候的參數(shù)。我測試時候執(zhí)行的命令如下: aspnet_regsql.exe -S . -U sa -P sasa -ed -d test -et -t yh
成功開啟如下圖

5、為HomeController的ACTION 添加緩存的策略,很簡單就是在某個ACTION上,添加[OutputCache(Duration = 900, SqlDependency = "test:YH")]標記

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc;namespace MvcApplication1.Controllers {public class HomeController : Controller{[OutputCache(Duration = 900, SqlDependency = "test:YH")]public ActionResult Index(){return View();}} }

?

經(jīng)過以上的步驟,整個功能準備已經(jīng)結(jié)束,運行程序,下面看下效果。初次加載呈現(xiàn)的頁面就是如下時間,再刷新后,時間依然如下顯示,證明程序的緩存功能生效了。那么,是否是在被設(shè)置成依賴的表數(shù)據(jù)修改完成,緩存會被重置呢?

接下來,我在數(shù)據(jù)庫的表中隨便修改下表的數(shù)據(jù)后,立刻刷新頁面,看下,時間變了,那么在繼續(xù)刷新頁面,看時間還是如下圖的時間,也就是修改完數(shù)據(jù)表的值,緩存立刻也被更新了。

? ? 自己可以照著測試下吧。

posted on 2015-12-09 09:05 NET未來之路 閱讀(...) 評論(...) 編輯 收藏

轉(zhuǎn)載于:https://www.cnblogs.com/lonelyxmas/p/5031751.html

總結(jié)

以上是生活随笔為你收集整理的ASP.NET MVC 实现与SQLSERVER的依赖缓存的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。