Web Forms :: Update Cached Data If There Is Any Change In Database
Jun 29, 2012I want to update my cached data , if there is any change in database. , if any change in database/tables happens then my cached data should be updated.
View 1 RepliesI want to update my cached data , if there is any change in database. , if any change in database/tables happens then my cached data should be updated.
View 1 RepliesU are caching a list of items, then Add or update or delete method called. Approach 1)
A- Do the data change at the database. If success do B, C
B- Remove the entire list from the Cache.
C- Re-Cache the list on first read.
Approach 2)
A- Do the data change at the database, If success do B
B- Do the same change at the cached items, and save more time.
Approach(2) probably will cause nasty difficult to spot bugs, because the data come from BLL and placed directly into cache, One can't assume no bugs will happen at the sproc, I am not worry about database runtime errors, runtime errors will show up, but I am worry about invalid data, or miss calculation. Can I proceed with approach (2) with caution? Is there a "best practice" principle which suggest not doing approach(2)?
I have the follow form view:
<asp:FormView
DefaultMode="Edit"
ID="FormView1"
runat="server"
onitemupdating="FormView1_ItemUpdating">
<EditItemTemplate>
<asp:TextBox
ID="txtPrimerNombreNatural"
runat="server"
SkinID="texto"
MaxLength="30"
Text='<%#Bind("PrimerNombre") %>'></asp:TextBox>
<asp:TextBox
ID="txtSegundoNombreNatural"
runat="server"
SkinID="texto"
MaxLength="30"
Text='<%#Bind("SegundoNombre") %>'></asp:TextBox>
</EditItemTemplate>
</asp:FormView>
<asp:Button
ID="Actualizar"
runat="server"
Text="Button"
CommandName="Update"
/>
This formview is bound in this way:
protected void Page_Load(object sender,
EventArgs e)
{
Persona _persona =
new
Persona();
_persona.ObternerPersonaByUserIdApp(1);
List<SILPA.AccesoDatos.Generico.PersonaIdentity> persona =
new
List<SILPA.AccesoDatos.Generico.PersonaIdentity>();
persona.Add(_persona.Identity);
FormView1.DataSource = persona;
FormView1.DataBind();
}
When the page is shown, the textbox are filled correctly, this textbox are filled with the "primernombre" and "segundonombre" properties from the persona class. After this, If I change the textbox, and after click the update button, I need to update the persona class with the changes from the textboxes, then I call a ActualizarPersona method for updating the database. How can I do for update the persona class when I change the textboxes and click the update button? I try this method protected void FormView1_ItemUpdating(object sender, FormViewUpdateEventArgs
e)
{
}
In an ASP.NET 3.5 VB web app, I successfully manage to cache an object containing several personal details such as name, address, etc. One of the items is CreditNum which I'd like to change in the cache on the fly. Is there a way to access this directly in the cache or do I have to destroy and rebuild the whole object just to change the value of objMemberDetails.CreditNum?The cache is set using:
Public Shared Sub CacheSet(ByVal key As String, ByVal value As Object)
Dim userID As String = HttpContext.Current.User.Identity.Name
HttpContext.Current.Cache(key & "_" & userID) = value
End Sub
There are certain tables that get called often but updated rarely. One of these tables is Departments. So to save DB trips, I think it is ok to cache this table taking into consideration that the table has very small size. However, once you cached it an issue of keeping the table data fresh occurs. So what is the best way to determine that the table is dirty and therefore requires a reload and how that code should be invoked. I look for solution that will be scalable. So updating the cache on single right after inserting will not resolve the issue. If one machine inserted the record all other on the farm should get notified to reload the cache.
View 3 RepliesI found some code on the web and it threw me off. Look at the code below. You will notice only when the Hits == 1, does the cache get added. After that, the cache object isn't updated. It begs the question, does the object when updated, update the cache as well automatically? The answer here would make me remove some code in some of my classes.
public static bool IsValid( ActionTypeEnum actionType )
{
HttpContext context = HttpContext.Current;
if( context.Request.Browser.Crawler ) return false;
string key = actionType.ToString() + context.Request.UserHostAddress;
var hit = (HitInfo)(context.Cache[key] ?? new HitInfo());
if( hit.Hits > (int)actionType ) return false;
else hit.Hits ++;
if( hit.Hits == 1 )
context.Cache.Add(key, hit, null, DateTime.Now.AddMinutes(DURATION),
System.Web.Caching.Cache.NoSlidingExpiration,
System.Web.Caching.CacheItemPriority.Normal, null);
return true;
}
I would only guess that I would need to add the lines after the if statement:
if( hit.Hits == 1 )
context.Cache.Add(key, hit, null, DateTime.Now.AddMinutes(10),
System.Web.Caching.Cache.NoSlidingExpiration,
System.Web.Caching.CacheItemPriority.Normal, null);
else if (hit.Hits > 1)
{context.Cache.Remove(key);
context.Cache.Add(key, hit, null, DateTime.Now.AddMinutes(10),
System.Web.Caching.Cache.NoSlidingExpiration,
System.Web.Caching.CacheItemPriority.Normal, null);
}
Found the code at the bottom of the page here: http://www.codeproject.com/KB/aspnet/10ASPNetPerformance.aspx?msg=2809164
i got a problem to update my database which i bounded to datagrid. The problem is, i want to update my database only by clicking one update button at the bottom.. when the user click it, all the fields will be updated to database.
View 3 Repliesi want to update the data of a database through a gridview update button
how can i attach a dataconvertion like this
[Code]....
I have the following code for my radiobutton selectedindexchange, i have a hidden field in the gridview with the cid( which is the unique id for the records, the last column in the gridview is the radiobutton and i want to update my record with the value of that radiobutton.
[Code]....
i'm beginning with a little question. So i have this scenario
[Code]....
So i have a Linq object named TCategory. When the user wants to edit this object he will have 2 fields id and categoryName and when he press update the UpdateCategory function will receive an already made object of TCategory type storing the data user has typed. The problem is that i also want to let the client to change the id of the object so i need to pass to the function the actual Id and the TCategory object. How can i do this?
[Code]....
I have 3 buttons that change the Information being displayed in my Gridview (Previous, Today, Forward). Now management wants to SUM the Date's information by column, I have figured out how to do this by changing the BoundField to a TemplateField and then add a FooterTemplate with a SQL DataSource. When I Press either the Previous or Forward button the data does not change in my Sum'd Footer column.
[Code]....
I have a datagridview control that I'm using to display cache data to the end used on a web form. The issue that I'm having is that every time I re-run the application, and the cache data is re-generated... it loads duplicate data that's being displayed to the end user. I can't seem to figure out how to keep this from happening.
What I would like to have happen is that only unique data rows be returned and cached for the end user. Unless there are new data rows on the database that needs to be included in the cache data results...the previous data results should not be duplicated. I've tried to change a few properties on the datagridview control, but nothing seem to keep this from happening.
[code]....
I want to use jquery price range slider use my website but not fire in onchange event .
just like [URL]
I have a details view with buttons in the footer. When the user clicks the edit button the calls the ChangeEditMode() method. I want to change the mode of the details view to edit mode which seems to work fine. It goes into edit mode with a text box. I also want it to set the visible property of the edit button to false and set the visible property of the update button to true. Then while still in edit mode the user can click the update button that will call the appropriate method to persist the changes.
I got the changemode() to change to edit but can't change the visible property of the buttons correctly. This is what I have so far. Can some one please tell me what I'm doing wrong?
[Code]....
[Code]....
I have one issue on my localhost running website that is when i submit data from asp.net form . it don't clear the data permanentaly from the page history.like , i submit one record and after this one i double click on the textfields the previous values are shown ?
View 1 RepliesI have query in c#:
OleDbCommand myCommand = new OleDbCommand("select distinct ID from TestDataBase..TableOne where pid = " + "'" + Dropdown.SelectedValue + "'");
I need to deploy to production. I set up connection string at config file
string connStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
Is any way could set up config file to change to production database instead of changing code from TestDataBase..TableOne to ProductionDB..Tablename?
we have to upgrade a database application.
In the previous application the transaction is updated 2 days later into the database.
Now we have to update that instantly when the transaction happens.
How this is possible. I want to know why the database update too late
change the connection between data controls and database table?
View 2 Repliesupdate database using data from dropdownlist on gridview C#
<asp:GridView ID="GridView" runat="server" AutoGenerateColumns="False"
I have a pesky problem: if I change the UI culture dynamically and then I reload a page, the Resources.resx file selected was changed into the page but not into the Update Panel.
View 1 RepliesDataTable to update database? tbl.Columns.Add("COL1");
View 2 RepliesSometimes the database clears everything and keeps the original status record.I don't know why this won't update,
[Code]....
How do I view rows in a table and then be able to update the image stored on the database for that specifc row?
View 1 RepliesAm trying to build a page that will display one record at a time. That is the user searches a records table and the page displays the record. Than when the user us done making any changes and clicks save, i want the page to update the records table. So far, i have the page displaying the search results, but the save functionality is not working. Actually after changing an entry and the save button is clicked, the records change are currently reverting back to the old data that they want to change it from. How do i go about updating the records in the database? Here is the code that I have been able to come up with so far.
[Code]....
I'm new to ASP so this may seem so simple but I cannot work it out.
I am trying to create a script that changes its output based on a range of values. Here is what I mean:
I have a MSSQL database with an ASP scripted website that reads it and displays the data in a table. One of the columns in the database is a percentage and I want that column in the web page to have a background colour based on the figure outputted.
So each cell may be a different colour. If the number is between 0 and 30 then red background, 31 to 70 orange etc.
At the moment I have the database output script looking like this:
[Code]....
How can I implement what I have outlined above?