IE has a very annoying feature... Even if you configure it not to
cache your requests, it will still cache Ajax requests if you're using
the GET verb. The best possible solution is to only perform Ajax
requests using the POST verb.

If you are using the AjaxActionAttribute to generate the JavaScript
proxy, just add:
[AccessibleThrough(Verb.Post)]
to your action. The PrototypeAjaxProxyGenerator will detect this
attribute and add the 'method': 'post' to the new Ajax.Request call.

--
Fábio David Batista
[email protected]
http://nerd-o-matic.blogspot.com


2009/11/9 Mauricio Scheffer <[email protected]>:
>
> Did you confirm that this is a browser cache issue?
>
> I've never used [AjaxAction] but it seems that it doesn't use a cache
> busting parameter ( 
> http://www.google.com/search?hl=en&q=ajax+random+cache+bust
> ) which could be the source of the problem.
>
> Can anyone confirm this?
>
> Pawel, if you're using prototype, try doing an Ajax.Request() with a
> cache busting parameter, instead of using the javascript proxy.
>
> On Nov 9, 6:38 pm, Paweł <[email protected]> wrote:
>> But the problem is that I haven't changed any cache settings in
>> Internet Explorer and all of them are default.
>>
>> So the end user using my web app in the future will come across the
>> same issue.
>>
>> what can I do in order to avoid it?
>>
>> On Nov 3, 9:26 pm, Mauricio Scheffer <[email protected]>
>> wrote:
>>
>>
>>
>> > If you're not hitting the breakpoint on the controller action it
>> > probably means that the page is cached at the browser. Use Firebug or
>> > Fiddler to confirm this.
>>
>> > On Nov 3, 5:04 pm, Paweł <[email protected]> wrote:
>>
>> > > * the ExecuteQuery() line hit just once, when the page is loaded at
>> > > the very first time...later on, whenever I click Refresh button that
>> > > line doesnt get hit......the same stary when i click the link that
>> > > leads to that page...Im wondering where it takes data from to display
>> > > on the page?
>>
>> > > * where can I check whether that 2nd level NHibernate cache is set
>> > > up ?
>>
>> > > * usually the data is changed with ActiveRecord, I used DeletAll(where
>> > > condition) method to delete a record...I did that but it still was on
>> > > the page while it got removed from database table
>>
>> > > On 2 Lis, 23:41, Mauricio Scheffer <[email protected]> wrote:
>>
>> > > > A few questions:
>>
>> > > >  * If you set a breakpoint on the ExecuteQuery() line, do you hit this
>> > > > breakpoint when fetching the "cached" data?
>> > > >  * Do you have any 2nd level NHibernate cache set up?
>> > > >  * How is the data changed normally (i.e. not manually with SQL mgm
>> > > > studio) in background? Is it changed with ActiveRecord/NHibernate? raw
>> > > > ADO.NET? another process?
>>
>> > > > On Nov 2, 6:18 pm, Paweł <[email protected]> wrote:
>>
>> > > > > I use the following piece of code to fetch data from database. This
>> > > > > code is called from javascript by proxy (AjaxAction).
>>
>> > > > > The problem is that the page once loaded doesn't show updated/deleted
>> > > > > records (after refresh of course), even they have been changed in
>> > > > > background (using ie. sql managment studio). It seems like data is
>> > > > > cached somewhere. What can I do in order to get data refreshed
>> > > > > everytime I call the following code?
>>
>> > > > >       string sql = @"
>> > > > >           SELECT
>> > > > >             address.CityId.Name, address.StreetId.Name,
>> > > > > address.StreetNumber, place.Numer,
>> > > > >             place.Opis, parking.Opis, place.Id, category.Name ,
>> > > > > place.UzytkownikId.Login, place.ParkingId.Id
>> > > > >           FROM
>> > > > >             PParking parking JOIN parking.MiejscaPostojowes place 
>> > > > > JOIN
>> > > > > parking.AddressId address
>> > > > >             JOIN place.CategoryId category
>> > > > >           WHERE
>> > > > >             place.UzytkownikId.Id = :userId
>> > > > >           GROUP BY
>> > > > >             address.CityId.Name, address.StreetId.Name,
>> > > > > address.StreetNumber, place.Numer,
>> > > > >             place.Opis, parking.Opis, place.Id,
>> > > > > category.Name,place.UzytkownikId.Login, place.ParkingId.Id
>> > > > >           ";
>>
>> > > > >       SimpleQuery query = new SimpleQuery(typeof(PMiejsce), typeof
>> > > > > (object), sql);
>>
>> > > > >       DateTime currentTime = DateTime.Now;
>> > > > >       query.SetParameter("userId", userId);
>>
>> > > > >       return (object[])ExecuteQuery(query);
> --~--~---------~--~----~------------~-------~--~----~
> You received this message because you are subscribed to the Google Groups 
> "Castle Project Users" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to 
> [email protected]
> For more options, visit this group at 
> http://groups.google.com/group/castle-project-users?hl=en
> -~----------~----~----~----~------~----~------~--~---
>
>

--

You received this message because you are subscribed to the Google Groups 
"Castle Project Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/castle-project-users?hl=.


Reply via email to