SqlCacheDependency Not Deleting What Is In Cache
Feb 2, 2011
I am using sqlCacheDependency, and usually upon any changes in the database cache items get deleted automatically. In my case everything works allright, but I had to buy a new laptop and I moved the same exact database and the same exact webapplication to the new laptop. Unfortunately, on my new machine the cache items remain in cache upon data updates on the database.
I have enabled servicebroker on the database, and started it in the application_start event in my webapplication. I also ran the following:
GRANT SUBSCRIBE QUERY NOTIFICATIONS
TO "Naji-pcNaji"
The differance I see on my laptop from my other machine is that the database is named (local). Naji-pc is the name of my machine.
View 1 Replies
Similar Messages:
Apr 28, 2010
I have been trying to get SqlCacheDependency working. I think I have everything set up correctly, but when I update the table, the item in the Cache isn't invalidated.
I enabled the Service Broker for the Sandbox database.I have placed the following code in the Global.asax file. I also restart IIS to make sure it is called.
void Application_Start(object sender, EventArgs e) {
SqlDependency.Start(ConfigurationManager.ConnectionStrings["SandboxConnectionString"].ConnectionString);
}
I have placed this entry in the web.config file:
<system.web>
<caching>
<sqlCacheDependency enabled="true" pollTime="10000">[code]....
I call this code to put the item into the cache:
protected void CacheDataSetButton_Click(object sender, EventArgs e) {
using (SqlConnection sqlConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["SandboxConnectionString"].ConnectionString))[code].....
Then I bind the GridView with this code:
protected void BindGridViewButton_Click(object sender, EventArgs e) {
if (Cache["Pets"] != null) {
GridView1.DataSource = Cache["Pets"] as DataSet;
GridView1.DataBind();
}
}
Between attempts to DataBind the GridView, I change the table's values expecting it to invalidate the Cache["Pets"] item, but it seems to stay in the Cache indefinitely.
View 1 Replies
Feb 9, 2010
I think it is a problem that SqlCacheDependency may invalidate a cache item while it is being set:
function getCacheItem()
if cacheitem is empty
cacheitem = something
AND AT THIS POINT SqlCacheDependency INVALIDATES THE cacheitem
end if
return cacheitem
end function
how can we prevent this? Is it somehow possible to specify a ReaderWriterLockSlim for the SqlCacheDependecy to use?
View 1 Replies
Mar 4, 2011
I have a webpage which displays some data along with a banner. The banner image is stored in the database with parameters "Pagename" and "form".
The application has been coded in such a way that when the page loads , a function checks for the banner in cache memory first with the parameters "pagename" and "form". It the banner does not exist, the new banner is retrieved from the database and is added to the cache memory. Next time when the same page is called, the banner is displayed from the cache memory avoiding the DB to be hit everything to get the banner.
Now, I do not want a specific banner to be displayed on the page. I have removed that banner from the DB but the banner still gets displayed as this banner is still there in the cache memory.
Is there any way to delete the banner which exists in cache memory without making any code changes?
View 5 Replies
Sep 27, 2010
I have a repeater which binds a set of data. Within this repeater is a column with various controls for updating, deleting, etc. These are image buttons which fire an onclick event such as "DeleteRecord". All this does is fire a stored procedure, passing in the ID of the record to delete from the CommandArgument of the object.
This works wonderfully... except for one rather huge problem. Once you delete a record, if you refresh the page, the record where the first deleted record used to be gets deleted. For instance... if I have 4 records
1 Record1
2 Record2
3 Record3
4 Record4
and I delete record 2... The page reloads with (which is fine):
1 Record1
3 Record3
4 Record4
...if I then hit refresh...
1 Record1
4 Record4
I assume this is because the erroneously deleted object (record3) is now in the same hierarchical place as the old object used to be and .net therefore doesn't know the difference, the page refreshes and fires the onlick event, grabbing out the command argument of the new object and deletes based on the ID as obtained from the commandargument of the new object. This is obviously a huge problem, if a client did this it would destroy data erroneously and I'm at a loss here. Is there any way to stop this from happening? I'm not sure if there is a better way to go about doing things or not. If there isn't, I need some sort of way to tell the page not to execute the event or to cross reference the ID of the object that is intended for deletion against the object itself...
Code below for convenience...
EDIT Wrapped a LinkButton around it because I have some jquery code in here as well which stops the page execution to wait for user confirmation. Pressing "ok" continues page execution.
<asp:LinkButton ID="oDeleteLink" CssClass="oDeleteIcon" CommandName="Delete" CommandArgument='<%# Eval("iAccountID") %>' runat="server">
<asp:ImageButton ImageUrl="/files/system/icons/trash-steel-16.png" ToolTip="Delete This Account" AlternateText="Delete" ID="oDeleteIcon" runat="server" />
</asp:LinkButton>
protected void oAccounts_ItemCommand(Object Sender, RepeaterCommandEventArgs e) {
if (e.CommandName == "Delete") {
int ID = e.CommandArgument.ToString().Numeric();
db.SPs.SpDeleteAccount(ID).Execute();
UI.Confirm(uiBroadcast, "Account has been deleted", "300px");
BindAccounts();
}
}
View 2 Replies
Oct 11, 2010
What are the key differences between these and when should they be used? My initial understanding was that SqlCacheDependency used polling but I've read it doesn't have too for ASP.NET 2.0. I want to know which is most appropriate for caching of linq queries under ASP.NET web server. This will be ASP.NET 3.5.
SqlCacheDependency
http://forums.asp.net/p/1010106/1353521.aspx [code]....
View 1 Replies
Feb 13, 2011
I'm trying to use SqlCacheDependency with List<T>, but searching google etc only comes back with datasets, datatables etc.
So how do i use SqlCacheDependency with the following code:
public List<GetCurrencyCodeOBJ> GetListCurrencyCode()
{
SqlConnection cn = new SqlConnection(dbConn);[code]....
View 1 Replies
Nov 30, 2010
I find the SqlCacheDependency very useful when writing C# ASP.NET applications, and would love to use something similar in my PHP applications. Can anyone suggest something?
SqlCacheDependency caches the page page output forever, until the specified table(s) are modified in the database.
Here's the basic jist of what happens in ASP.NET:
SqlCacheDependency SqlDep = null;
// Check the Cache for the SqlSource key.
// If it isn't there, create it with a dependency [code]...
So does anyone know of any MySql table dependency technique? - much cleaner than time-based caching.
View 1 Replies
Feb 24, 2011
I'm really struggling to get this to work, how can i set up SqlCacheDependency on a List<>
My code is as follows:
[Code]....
All examples i find either relate to datasets etc or adding tables to sql
I'm currently using SQL2008 Express and NET 4.0
View 2 Replies
Mar 29, 2010
Is it correct to implement my caching object like this in my controller :
[code]....
And I Use it like this :
[code]....
View 1 Replies
Feb 25, 2011
We have a wfc layer that wraps the business classes and database access and use a client that lives on the database layer. Amongst our group we are attempting to form standards. Some want to have the client call the web method and pass the page they are requesting and the page size. Pass that to the database and then page in SQL Server use RowNum.Some want to cache the full list of objects in http cache on the service tier and page in memory. They concern here is memory use on the server.
Which would be best for a medium number of users with potentially large number of records to manage (say 30K) Is it better to cache them all in memory and work from there or page at the database as the application scales?
View 1 Replies
Jul 28, 2010
What are the "optimal" parameters for creating an AppFabric cache when you will be storing session state in the cache? MSDN Cache-Related Commands
Powershell command line:
New-Cache [-CacheName] <String> [-Eviction <String>] [-Expirable <String>] [-Force [<SwitchParameter>]] [-NotificationsEnabled <String>] [-Secondaries <Int32>] [-TimeToLive <Int64>]
[code]...
Since I don't want my sessions to be removed unless the session has been abandoned either via code or Session Timeout...For eviction, I would think "None" and for expireable, I would think False.I have tested and calling Session.Abandon does remove the object from the cache. I have also tested to see if by extending my session, the session object in cache is also extended. This does seem to work the "correct" way.
View 1 Replies
Aug 1, 2010
We have a data driven ASP.NET website which has been written using the standard pattern for data caching (adapted here from MSDN):
public DataTable GetData()
{
string key = "DataTable";
object item = Cache[key] as DataTable;
[code]...
The trouble with this is that the call to GetDataFromSQL() is expensive and the use of the site is fairly high. So every five minutes, when the cache drops, the site becomes very 'sticky' while a lot of requests are waiting for the new data to be retrieved.
What we really want to happen is for the old data to remain current while new data is periodically reloaded in the background. (The fact that someone might therefore see data that is six minutes old isn't a big issue - the data isn't that time sensitive). This is something that I can write myself, but it would be useful to know if any alternative caching engines (I know names like Velocity, memcache) support this kind of scenario. Or am I missing some obvious trick with the standard ASP.NET data cache?
View 3 Replies
Feb 24, 2010
We are using HttpRuntime.Cache API in an ASP.NET to cache data retrieved from a database.
For this particular application, our database queries feature a LOT of parameters, so our cache keys look something like this:
table=table1;param1=somevalue1;param2=somevalue2;param3=somevalue3;param4=somevalue4;param5=somevalue5;param6=somevalue6... etc...
we have so many parameters that the cache key is several hundred characters long. is there a limit to the length of these cache keys? Internally, it is using a dictionary, so theoretically the lookup time should be constant. However, I wonder if we have potential to run into some performance/memory problem.
View 1 Replies
Sep 13, 2010
I have use Nhibernate in my MVC Project by me known, Nhibernate have cache on Session and Object. now, I want use HttpContext.Current.Cache (system.web) for cache data something in project. my code same that have problem, haven't it. and that's right or wrong.
View 2 Replies
Feb 26, 2010
I've got a web application that runs of a state server. It looks like soon it may need to distributed and there will be two web servers behind a load balancer.
This works great for session state but my next challenge is Cache
My application leverages heavily of cache. I understand ASP.Net 4.0 will be offering more here but nothing much has been said about the how too.
There are two challenges that I face
1). Each webserver will have its own copy of cache whereas it would be more efficient to put this to a third server the same as session state is put to state server.
2). The real challenge is keeping cache in sync if a simple dataset derived from the database is changed my code dumps that cache item and reloads the cache. That's all well on one webserver but webserver number two wont know to drop that particular cache item and reload it. This could cause some unexpected problems in the application.
For scenario number 2 I could attempt to do some smart coding so server number two knows to dump the cache and reload it.
My guess is someone else has already been here before and there's probably a better implementation approach rather than writing extra code.
Does anyone know how I could achieve the goal of keeping Cache in sync between multiple webservers or even better farm Cache management to another server?
View 2 Replies
Jul 21, 2010
My Asp.Net app caches some lookup DataTables to avoid hitting DB for seldomly changed data. When the data does change, however, I would like to use the sqlCacheDependency to get SQL Server to send a notification to my application, which should then reload the table into the cache.
In my application, the callback is not being executed, and the cache is not updated when data is changed in SQL Server.
I am using SQL 2005. This is my code:
***************************
[Code]....
View 6 Replies
Feb 8, 2011
I have a big problem in using SqlCacheDependency and Sqlserver notification service.I just want to add a dataset to cache with a SqlCacheDependency and get expire notification from sql server , Here is the simple code that doesn't work
(.net 4 , sqlserver 2008)
private DataSet GetData()
{[code]....
I have enabled my database service broker with : [alter database dbName set ENABLE_BROKER] I have created a master key for my databese with : [CREATE MASTER KEY ENCRYPTION BY PASSWORD = '1']
There is no error in sql server log file but when I change my skin table data , my cached dataset still remains in cache , it seems that there is no notification from sql server about changing the result of my Sqlcmd (that the SqlCacheDependency is created on it)
View 1 Replies
Jan 9, 2010
I would like to display real time updates on a web page (based on a status field in a database table that is altered by an external process). Based on my research, there are several ways of doing this.
Long Polling (Comet) - This seems to be complex to implement Regular Polling - I can have an AJAX method trigger a database hit every 5seconds to get the current status. But I fear this will have performance issues.
Then I read about using SqlCacheDependency - basically the cache gets invalidated based on a field in the table. I am assuming I can use the event trigerred when the cache is invalidated to show the new update to the user?
View 2 Replies
Nov 2, 2010
I need to enable caching in my asp.net application, but I do not want to use the webserver's memory for holding cache objects. If I add the page directive for output caching will the page be stored in the asp.net cache object?
View 2 Replies
Dec 12, 2010
I want to be able to maintain certain objects between application restarts.
To do that, I want to write specific cached items out to disk in Global.asax Application_End() function and re-load them back on Application_Start().
I currently have a cache helper class, which uses the following method to return the cached value:
return HttpContext.Current.Cache[key];
Problem: during Application_End(), HttpContext.Current is null since there is no web request (it's an automated cleanup procedure) - therefore, I cannot access .Cache[] to retrieve any of the items to save to disk.
Question: how can I access the cache items during Application_End()?
View 4 Replies
Apr 9, 2010
Iam adding SqlCacheDependency programmatically but Iam not able to invalidate the cache.
Iam using the following Output cache directive in the .aspx page
[Code]....
The code in the .aspx.cs file is:
[Code]....
View 1 Replies
Aug 24, 2010
I am trying to use SqlCacheDependency in my web site.I got in touch with my hosting compnay and they said that they support cache but they set the trust level to medium and what I try to do needs full trust level whihch they cannot provide for me.
can someone show me a way or a code samples that use SqlCacheDependency with medium level trust?
the broker is enabled in the hosting sql server
this code raise the error that the hosting providers said that they cannot support in medium level:
System.Data.SqlClient.SqlDependency.Start(ConfigurationManager.ConnectionStrings("myConnectionString").ConnectionString)
I have the tables needed in my developer SQL server , but I don't know how or if I can set it in the hosting SQL server db
and this is my code to get the data from cache or from DB that works on my developer station:
If Cache("allitems") Is Nothing Then
View 2 Replies
Jan 4, 2010
In my database I have altered stored procedure AspNet_SqlCacheRegisterTableStoredProcedure that is used for SqlCacheDependency to register tables that are in different schema then dbo (original procedure allows only tables for dbo schema).
That works, but I can't register same table name for different schemas, for example dbo.MyTable and MySchema.MyTable.In column tableName in table AspNet_SqlCacheTablesForChangeNotification there are only table names without schemas.
Is it possible to register same table names and different schemas?
View 1 Replies
Apr 20, 2010
In our project we have planned to put cache dependency on the queries, such that whenever the query result changes the cache gets invalidated. The problem is most of our queries use Distinct, top and group by. As I have learnt that SqlCacheDependency does not support queries with Distinct and Top, So, how should we proceed to implement the query dependency when the queries are complex.
View 2 Replies