Bonjour,

Je suis en train d'experimenter les fonctionnalités de ASP.NET et j'aimerais faire une mise en cache des résultats d'une requête SQL pour une page "static" (elle affiche uniquement un tableau DataGrid d'une table de ma base Sql).

J'ai suivi les étapes de la mise en oeuvre mais j'ai un problème à l'execution (tout va bien à la compilation).

Voici les morceaux de code que j'ai ajouté à ma page pour activer la fonctionnalité :

La chaine de connexion
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<connectionStrings>
    <add name="DataHouseConnectionString" connectionString="Data Source=.\SQLSERVER2005;Initial Catalog=DataHouse;User ID=DbaUser;Password=passw0rd" providerName="System.Data.SqlClient" />
</connectionStrings>
La section cache du fichier de config
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<caching>
    <sqlCacheDependency enabled="true" pollTime="500">
        <databases>
            <add name="Users" connectionStringName="DataHouseConnectionString" />
        </databases>
    </sqlCacheDependency>
</caching>
La directive en haut du fichier aspx concerné
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<%@ OutputCache Duration="999999" VaryByParam="none" SqlDependency="DataHouse:Users" %>
Et la ligne de commande qui s'est executé correctement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
aspnet_regsql -S localhost\sqlserver2005 -E -ed -d DataHouse -t Users -et
Voici l'erreur dans $exception dans le debuger :
+ $exception {"The 'DataHouse:Users' SqlDependency attribute for OutputCache directive is invalid.\r\n\r\nDetailed error message: Cannot find the 'DataHouse' database in the configuration."} System.Exception {System.Web.HttpException}
Selon moi, DataHouse est bien défini pourtant.
Merci pour votre aide.