Does ASP.NET provide any sort of out-of-process cache server, similar to the way the session server works? If not, what would you recommend for caching in a Web Garden scenario?
I have a page with a number of user controls, In one of my user controls I have a button event. I turn on output cache for the user control that has the button and vary by control using the ID property of a hidden field control in the user control. whenever I turn on the output cache my button event doesn't fire.
I have an issue with the object datasouce caching. Users are seeing other peoples cached records when they click next on the grid. It looks as though the caching is shared among users. Bascially when the user get to the screen they have date filters so they can further filter down the records. If another user it in at the same time and the first user hits next they get the second users filtered records.
I want to cache a page with specific value of specific querystring using SqlDependency.
I found with VaryByParam = "ProductId,CategoryId" I can do that but I want to cache the page only if ProductId is 10 and / OR CategoryId = 15 for example.
I have a large SQL Database in the server from which I can create a dataset of about 10000 rows. My question is about caching this data. Which type of data caching should I choose (Server side or Client side)? Which one will provide better performance?
I've begun building a bit of a framework that I wouldnt mind working with. The idea is to create a framework that makes it even easier to create CMS addons (So basically a CMS framework).
One of my goals with this project, was having all modules made within the framework automatically support version without any extra coding.
More to the point, the way that I started building this, many pieces (Lots had to do with the versioning system) became interlinked. A version Object in the code related directly to a Module Object and vice versa, therefore the class definitions for each relate to eac otherh. (So having only the Module object, i could access the versioning object and all of its properties). My issue with this is of course what happens if i have both the module and versioning objects in my code simoultaneously, resulting in having not just duplicates of the data within the code, but (perhaps) infinite amounts, killing the app.
So what im wondering is, what if my modules properties where stored within the cache? Ie if i had the Module object, and it had the property ID -- Then the data for ID would be stored in the cache within the module object. Referencing the value simply retrieves the value from the cache if it exists there, and the SQL database if it doesnt. This way, all instances of the module that may be running at the same time will have access to the same information, at the same time, and hopefully causing it to use less space in total.
I would then add a function, so that if a developer was loading a rarely used module, or dident want to occupy cache space with large amounts of data, then they could just call a Dispose function that would remove the data from the cache.
Does this method sound reasonable? I know this probably isnt what the cache is designed for -- but I cant think of any other way to do this without having an infinite loop of objects referring to each other, or causing huge discrepencies from having different instances of objects referencing values that should be the same, but arent because they are technically different instances.
Currently I have my data cached in Datasets in a static class. I was talking to my cousin's husband, who works as a C# developer for our local Telecom company.
Basically, I'm pretty new to ASP.NET and although to me having cached data in a static class makes sense to me, when I talked to him about it, he said there might be a problem when the site goes live, as on a web server more than one instance of the class may be created.
He did say this was a theory, and it was an area he didn't know an awful lot about, so I thought I'd ask some of you ASP.NET gurus to see if what I've done is totally wrong or not.
I have a List (Table) of Data that I display in a Grid View. For now lets just assume I have a List<CustomObject> cList that I give to my GridView.DataSource(). I have a AJAX call (from a DropDown on the Page) that enables me to filter the Data in the GridView. This works. For now, I re-fetch the data from the DB, and filter it.I am wondering if there is a more efficient way of doing this i.e. to save the data the first time I get it, and then display a filtered list of that data when requested. I attempted to save the data as private variable on the Page, but it seems that Page gets recreated for the AJAX call. My attempt looks like:
[Code]....
[Code]....
This page is accessible anonymously - so there is no User Profile or something like that. P.S. I put my code in the Insert Code Dialog, but it does not seem to format it correctly. Sorry about that.
I've created a blog for my first asp.net website. Ive got a blog class as my object. Ive created a number of methods to access my blog articles using LINQ to SQL.
Each method returns a list of objects ready to be used in the appropriate web user control.
In my head i need to cache these lists of objects that are returned, but need to know the best way of approaching this. So i have come up with two possible options
1: Make one method to retrieve all blogs in a list<Blog> and cache this list to be used for all other methods or
2: Cache only the required methods that really need it.
I am using this to store my user information for authentication. I'd like to know where this is actually being stored? I know that people suggest to store the Session state in SQL. Is this necessary for the Cache as well?
in my web appliaction there are many pages which use data from backend . and all these pages run according user login in application.every user gat different data according data availability for particular user .And data is not static for user in database it can be update ,delete,and may be new data inserted for user, frequently . in this case roundtrip for data on sql serverv increased and it cause of load on sql server. in this csae i want to implement caching on my pages. But I am not able to do this because i have no idea about how implement caching on the basis of particular user data .
i have a usercontrol called navigationmenu whose data is static but varies with loged in1.empID 2.empType 3 Country my question is how can i cache the data of usercontrol based upon combination of these 3 parameters
I am doing a POC of making my website run faster. Currently it stores huge object data in Session while passing information from one page to another. What I was thinking is to use shared methods and properties instead of session. It works, but wanted tocheck if this is an optimum way to do it. Below is the code that does not use session but still pass object data from one page to another:
i have a form on page1.aspx with several controls (textbox, dropdownlist, etc).on Page1 PageLoad event i load data from database and performe databinding.From Page1 a user can, by clicking a specific button, move to Page2.aspx to insert some details and, after saving details, he returns to page1.
if save changes are made on control on page1 before save them to db, obviously, these are lost on return from page2 (because are reloaded on pageload from db).How can i save control status between pages round trip?
Requirements: Create a Web Page in ASPx that will do the following:
1)One label will provide a count of how many times Button 1 has been clicked in the current session.
2)One label will provide a count of how many times Button 1 has been clicked by all users of the application. The Application Code for the Button should start at 100 (set this in the Global.asax file). this is what i have so far but i cant seem to get the application state to work properly.
aspx.vb
Partial Class _Default Inherits System.Web.UI.Page Dim clickcount As Integer
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Session("ClickCount") Is Nothing Then clickcount = 0 Else clickcount = CInt(Session("ClickCount")) End If If Not IsPostBack Then If Request.Cookies("UserName") IsNot Nothing Then Label1.Text = "Welcome Back " & Request.Cookies("UserName").Value & "." End If End If Dim clickCounta As Integer = CInt(Application("ClickCount")) End Sub Protected Sub PostBackSession_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles PostBackSession.Click clickcount += 1 lblClkCnt.Text = "Current Click Count is " & clickcount Application.Lock() Dim clickCounta As Integer = CInt(Application("ClickCount")) clickCounta += 1 Application("ClickCount") = clickCounta Application.UnLock() AppClick.Text = clickCounta Dim nameCookie As New HttpCookie("UserName", _ TextBox1.Text) nameCookie.Expires = Now.AddYears(1) Response.Cookies.Add(nameCookie) End Sub Protected Sub PostBackSession_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles PostBackSession.PreRender Session("ClickCount") = clickcount Application("ClickCount") = clickcount End Sub End Class global.asax <script runat="server"> Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs) Dim clickCounta As Integer = CInt(Application("ClickCount")) Application.Add("ClickCount", 0) End Sub Sub Application_End(ByVal sender As Object, ByVal e As EventArgs) Dim clickCounta As Integer = CInt(HttpContext.Current.Application("ClickCount")) End Sub Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs) ' Code that runs when an unhandled error occurs End Sub Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs) End Sub Sub Session_End(ByVal sender As Object, ByVal e As EventArgs) End Sub
I would like to know the version of ASP.NET supports using Windows AppFabric caching for session management or is it just about using the AppFabric session provider
Customer were getting "View State Validation Error" due to worker process recycling at our production webserver and to fix that i applied machinekey and then move my Session state Mode from In Proc to State Server to retain session data and not kick out the customer to relogin. I had serialization issue with one object which has to be stored in session but when i moved it out of session i could able to resolve the issue.
But doing all these i was partly successfull in keeping the user in their session when Worker Process recycle event occurs.I was able to refresh the page or make a post back by clicking the refresh button and also able to retain the session values. But the Problem occurs when sending asynchronous request to server which we do periodically every 15 minutes from the moment the user logs in.The web page doesnot update data on website when sending asynchronous request.By Debugging I found at this particular code point it fails to make a postback which is required.
<%=GetHintFromServer%> (When there is no Worker Process recycle i t gets replaced by WebForm_DoCallback('__Page',message,ShowHint,null,null,false) on postback) Everything works fine when there is no Worker Process Recyling but when it happens looks like sending request asynchronously using javascript fails .Remember When I make a post back by manually clicking submit button everything works fine.
Let me explain, describing the scenario:In a custom server control (in my case, derived from CompositeControl), in the overidden CreateChildControls method I create a complex tree of subcontrols, using information from a db.The db provides both information on which controls I need to create (the user interface's structure) and the data used to fill these controls.Than the user can interact with the control and change the data (that becomes different to what stored on db).
My custom control lives in the same page where there are other controls, obviously.And these controls can cause a postback at any time.What I need is that my custom control keeps the data entered by the user across these postback, without reverting to the original data and loose the user data entry.
Here is the first doubt:
1)I create the subcontrols dinamically in the CreateChildControls at any page refresh (both on first call than on postback).I know that the framework solves the reference between the posted data and the controls I create in the CreateChildControls in order to set properties and raise control events, but can you tell me when and how it actually does this? In which phase of page life cycle? What happens after the CreateChildControls?
A second doubt:2)If the user interface structure must change as a consequence of the data entered, I had to execute CreateChildControls twice (the first time to recreate the original interface to get the events and the second time to create the new interface) In which phase of page/control lifecycle do I have to make the second call to CreateChildControls? I do it on Prerender now, but is it right or wrong, and why?