72 messaggi dal 07 novembre 2007
Ciao Ragazzi
ho creato un esempio asp.net per l'utilizzo del SQLCacheDependecy che vi mostro di seguito:

1) ho abilitato il service broker del db;

2) ho crato una pagina asp.net con una gridview e un bottone;

3) ho inserito nel global.asax i seguenti metodi per lo start e lo stop del SQLDependecy:

protected void Application_Start(object sender, EventArgs e)
{
System.Data.SqlClient.SqlDependency.Start(ConfigurationManager.ConnectionStrings["db"].ConnectionString);
}

protected void Application_End(object sender, EventArgs e)
{
System.Data.SqlClient.SqlDependency.Stop(ConfigurationManager.ConnectionStrings["db"].ConnectionString);
}

4) nel metodo Page_load ho inserito il seguete codice:

protected void Page_Load(object sender, EventArgs e)
{

DataTable dt = (DataTable)Cache.Get("risultato");
if (dt == null)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["db"].ConnectionString);
SqlCommand cmd = new SqlCommand("SELECT top 5 [CA_sName],[CA_sDescription],[CA_bValido],[CA_bIsPublic],[CA_dUltimaModifica],[CA_sModifiedBy],[CA_sBackgroundName],[CA_sDisplayName] FROM profilingCategories", conn);
SqlCacheDependency sqlcd = new SqlCacheDependency(cmd);
SqlDataAdapter sAdapter = new SqlDataAdapter(cmd);
dt = new DataTable();
sAdapter.Fill(dt);
Cache.Insert("risultato", dt, sqlcd);
//Page.Cache.Insert("risultato", dt);
}
GridView1.DataSource = dt;
GridView1.DataBind();
}

Ebbene quando faccio partire l'applicativo giustamente in cache nn c'è nulla e quindi dt è uguale a null ed effettua la connessione e tutto ed infatti la gridview si popola, ma quando effettuo un postback premendo il botto e si rifà il page load il dt risulta null come se in cache nn ci sia nulla e premetto che sul db nn sono state fatte modifiche.
Sapete darmi qualche consiglio?
marianoross wrote:
Sapete darmi qualche consiglio?

assicurati di aver seguito i passaggi menzionati qui:
http://msdn.microsoft.com/en-us/library/system.web.caching.sqlcachedependency.aspx
inoltre, non tutte le versioni di SQL Server hanno il supporto per la cache su query. se non ricordo male, ci vuole almeno SQL Server 2005. .

Daniele Bochicchio | ASPItalia.com
I libri su HTML5, WP7, ASP.NET, VB, C#, Entity Framework
Senior Software Architect@5DLabs.it
Microsoft Regional Director for Italy

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
    In primo piano

    I più letti di oggi

    Media
    In evidenza
    MISC