At 10:01 AM 10/16/2003, you wrote:
> >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

Antwort per Email an