У меня есть вопрос: я работаю над приложением ASP.Net Web Forms и C# и использую gridView для отображения данных из таблицы, поэтому я решил кэшировать.
я сделал
aspnet_regsql -ed -E -d Store
aspnet_regsql -et -E -d Store-t Customers
и модификации в web.config
:
<caching>
<sqlCacheDependency pollTime="2000" enabled="true">
<databases>
<add name="Store" connectionStringName="StoreConnectionString"/>
</databases>
</sqlCacheDependency>
</caching>
Но теперь я должен решить, использовать ли SqlDependency
<%@ OutputCache Duration=”600″ SqlDependency=”Store:Customers” VaryByParam=”none” %>
Или используйте SqlCacheDependency
private void BindData() {
if (Cache["Users"] == null) {
SqlCacheDependency dep = new SqlCacheDependency("Store", "Customers");
string connectionString = ConfigurationManager.ConnectionStrings[
"ConnectionString"].ConnectionString;
SqlConnection myConnection = new SqlConnection(connectionString);
SqlDataAdapter ad = new SqlDataAdapter("SELECT FirstName, LastName " +
"FROM Users", myConnection);
DataSet ds = new DataSet();
ad.Fill(ds);
Cache.Insert("Cust", ds, dep);
}
gvUsers.DataSource = Cache["Cust"] as DataSet;
gvUsers.DataBind();
}
Не могли бы вы рассказать мне, в чем разница между SqlDependency
и SqlCacheDependency
и какой из них лучше для моего кода, пожалуйста?