私のアプリケーションにSqlCacheDependencyを追加したいと思います。 私はlittel tespプロジェクトを作成し、困難に直面することを望んでいました。 私はMSSQL 2008を使用しています。テーブルの行で新しいdbを作成し、いくつかの行を追加しました。 私が実行:SqlCacheDependencyが機能しない
ALTER DATABASE ForTest SET ENABLE_BROKER
をmanagmengスタジオで。
ASPXページ:
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Cache["Lines"] == null)
{
string connectionString =
WebConfigurationManager.ConnectionStrings["ForTest"].ConnectionString;
SqlConnection con = new SqlConnection(connectionString);
string query = "SELECT dbo.Lines.Id, dbo.Lines.Value FROM dbo.Lines";
SqlCommand cmd = new SqlCommand(query, con);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adapter.Fill(ds, "Lines");
SqlCacheDependency empDependency = new SqlCacheDependency(cmd);
Cache.Insert("Lines", ds, empDependency);
}
}
}
protected void btnResult_OnClick(object sender, EventArgs e)
{
var result = Cache["Lines"];
}
}
私はこのページを実行し、キャッシュに行を追加し、私は経営管理論のスタジオ内の行を追加し、ボタンの上に私をクリックしたときに、私はキャッシュが変更されますが、キャッシュが古いままであること を期待しています。 私は私が間違って何をすべきかを見つけることができません:(あなたは私、私はこの問題を解決することができますどのようにいくつかのヒントを与えることができる
おかげ
を更新:? 私はglobal.aspxで、私は実行することを言うために捏造:
SqlDependency.Start(
WebConfigurationManager.ConnectionStrings["ForTest"].ConnectionString
);