2009-07-29 7 views
3

Das temporäre Verzeichnis, das von ASP.NET verwendet werden ist in der Regel unterWie wird das temporäre ASP.NET-Verzeichnis programmgesteuert abgerufen?

C:\Windows\Microsoft.NET\Framework\<version>\Temporary ASP.NET Files\

Manchmal liegt aber es wird von dem TempDirectory Attribute für das Element Kompilierung in der Datei web.config überschrieben wird.

Wie kann ich das temporäre Verzeichnis abrufen, das derzeit von ASP.NET verwendet wird, unabhängig davon, ob es sich um das Standardverzeichnis oder ein vom Benutzer überschriebenes Verzeichnis handelt?

P.S. Es gibt ein paar Eigenschaften, die ein Unterverzeichnis unter dem temporären Verzeichnis (z. B. AppDomain.CurrentDomain.DynamicDirectory und andere) zurückgeben, aber ich suche nach dem Verzeichnis, wie es in der Konfigurationsdatei erscheint.

+3

Warum und wann würden Sie die ASP.NET temporäre Verzeichnis wissen? – Michael

+0

Zum Speichern von Dateien in einem temporären Ordner pro Standort. (Jede Site hat einen eigenen temporären Ordner) –

Antwort

4

Sie wollen die statische Eigenschaft HttpRuntime.CodegenDir

<%@ Page Language="C#" %> 
<script runat="server" language="C#"> 
    void Page_Load(object Sender,EventArgs E) 
    { 

    lblCodegenDir.Text = System.Web.HttpRuntime.CodegenDir; 
    } 
</script> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
    <HEAD> 
    <TITLE>Test Application</TITLE> 
    </HEAD> 
    <BODY> 
    <FORM id="frmForm1" method="post" runat="server"> 
     <HR width="100%" size="1"> 
     <P> 
     ASP.Net Temp Dir:&nbsp; 
     <ASP:LABEL id="lblCodegenDir" runat="server">Label</ASP:LABEL> 
     </P> 
     <HR width="100%" size="1"> 
    </FORM> 
    </BODY> 
</HTML> 
+0

Dies gibt nicht das in der Konfigurationsdatei definierte Verzeichnis, sondern ein dynamisches Unterverzeichnis zurück. –

+0

Hmm - Nicht sicher, wonach Sie suchen. Wenn es das Verzeichnis in der machine.config ist, müssten Sie diese Datei analysieren ... –