> >Mir f�llt da nicht wirklich was elegantes ein (ie ohne > >Seiteneffekte). > > Schade. Wie macht ihr es dann? Caching nicht einsetzen ist ja auch > keine L�sung.
Ich habe es noch nicht getestet, aber ein Ansatz k�nnte sein, grunds�tzlich VaryByCustom="..." in der OutputCache-Direktive einzusetzen.
In der Global.asax kann man dann die Function GetVaryByCustomString() �berschreiben:
Public Overrides Function GetVaryByCustomString(ByVal context As System.Web.HttpContext, ByVal custom As String) As String If context.Server.MachineName.StartsWith("VDB") Then Return Date.Now.ToString() Else Return "produktiv" End If End Function
Abh�ngig vom Servernamen wird entweder ein konstanter Wert oder aber die aktuelle Zeit zur�ckgegeben.
Ich mu� das VaryByCustom in die Seiten einbauen (was ich als "Seiteneffekt" bezeichnen w�rde). F�r die Interessierten, hier ist die Doku dazu:
<ms-help://MS.NETFrameworkSDKv1.1/cpguidenf/html/cpconcachingversionsofpagebasedoncustomstrings.htm>
Vielleicht hilft es auch, wenn abh�ngig vom Servernamen zu Beginn einer Session oder eines Requests der Cache einfach gelehrt wird (wieder in Global.asax):
Dim context As Web.HttpContext = Web.HttpContext.Current If context.Server.MachineName.StartsWith("VDB") Then Dim cache As IEnumerator = context.Cache.GetEnumerator Do While cache.MoveNext context.Cache.Remove(cache.Current) Loop End If
Hat jemand hier schon Erfahrungen?
zu Beginn eines Requests sollte es funktionieren, und das d�rfte wohl auch die Version, die die wenigsten Probleme bringt.
Chris
_______________________________________________ Asp.net mailing list [EMAIL PROTECTED] http://www.glengamoi.com/mailman/listinfo/asp.net
