By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
443,626 Members | 2,202 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 443,626 IT Pros & Developers. It's quick & easy.

Finding ASP.NET temporary directory

P: n/a
Hi,

I am looking for a way to discover the path to the ASP.NET temporary
directory, which is called something like 'Temporary ASP.NET Files'.

From within an ASP.NET application, I can get the path using
IO.Path.GetTempPath(), but I need to do so from outside the application.
I am currently using a web service for this, but this is a less than
optimal solution: if the web service is unable to start, I don't get the
full error message from IIS.

Is there any way to ask ASP.NET what its temporary directory is?

Thanks,
Rik

Feb 15 '06 #1
Share this Question
Share on Google+
2 Replies


P: n/a
The temp directory is hard-coded.

For .Net Framework 2.0 :
bootdrive:\%windir%\Microsoft.NET\Framework\v2.0.5 0727\Temporary ASP.NET Files

For .Net Framework 1.1 :
bootdrive:\%windir%\Microsoft.NET\Framework\v1.1.4 322\Temporary ASP.NET Files

This is a real hack, but it will retrieve the Temp directory path programmatically :

In global.asax :

Sub Application_OnStart()
Dim MyArray() As String = Split(AppDomain.CurrentDomain.DynamicDirectory, "\")
Application("TEMP_DIR") = (MyArray(0).ToString() & "/" & MyArray(1).ToString() & "/" _
& MyArray(2).ToString() & "/" & MyArray(3).ToString()) & "/" & MyArray(4).ToString() & "/" _
& MyArray(5).ToString())
End Sub

The path to the machine's ASP.NET Temporary Files directory
is now contained by Application("TEMP_DIR").

You can probably parse MyArray(), to extract the temp dir,
in a far simpler way, but I didn't have the time to do that for you right now.

What you need to do is strip off MyArray(6), MyArray(7) and MyArray(8) from the
string array created by Split(AppDomain.CurrentDomain.DynamicDirectory, "\").

Juan T. Llibre, asp.net MVP
aspnetfaq.com : http://www.aspnetfaq.com/
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
===================================
"Rik Hemsley" <ri*@rikkus.info> wrote in message news:el**************@TK2MSFTNGP12.phx.gbl...
Hi,

I am looking for a way to discover the path to the ASP.NET temporary directory, which is called
something like 'Temporary ASP.NET Files'.

From within an ASP.NET application, I can get the path using IO.Path.GetTempPath(), but I need to
do so from outside the application. I am currently using a web service for this, but this is a
less than optimal solution: if the web service is unable to start, I don't get the full error
message from IIS.

Is there any way to ask ASP.NET what its temporary directory is?

Thanks,
Rik

Feb 15 '06 #2

P: n/a
Juan T. Llibre wrote:
The temp directory is hard-coded.


Sorry, I meant the 'other' temp directory, not the 'Temporary ASP.NET
files' one. I'm not completely sure what this other directory is used
for, but I know that I need to give write access to it to the user who
the web application runs as, or I get 'permission denied' errors.

When a web _service_ is running, IO.Path.GetTempPath() returns (for me):

C:\DOCUME~1\RIK\ASPNET\LOCALS~1\Temp\

RIK\ASPNET seems to be name-of-machine\ASPNET, rather than username\ASPNET.

Looking at it again, I think it might be quite easy to work out what
this path will be, without having to be a web service, so I'll give it a
go and see if I can figure out a correct implementation.

BTW for anyone wanting to get the 'Temporary ASP.NET files' directory
from outside the web application, I do it like this:

String.Format _
( _
"{0}\Microsoft.NET\Framework\v{1}.{2}.{3}\Temporar y ASP.NET Files", _
Environment.GetEnvironmentVariable("windir"), _
Environment.Version.Major, _
Environment.Version.Minor, _
Environment.Version.Build _
)

Cheers,
Rik
Feb 16 '06 #3

This discussion thread is closed

Replies have been disabled for this discussion.