Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / ASP.NET / General / February 2006

Tip: Looking for answers? Try searching our database.

Finding ASP.NET temporary directory

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Rik Hemsley - 15 Feb 2006 13:27 GMT
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
Juan T. Llibre - 15 Feb 2006 15:03 GMT
The temp directory is hard-coded.

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

For .Net Framework 1.1 :
bootdrive:\%windir%\Microsoft.NET\Framework\v1.1.4322\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/
===================================
> Hi,
>
[quoted text clipped - 10 lines]
> Thanks,
> Rik
Rik Hemsley - 16 Feb 2006 14:06 GMT
> 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}\Temporary ASP.NET Files", _
  Environment.GetEnvironmentVariable("windir"), _
  Environment.Version.Major, _
  Environment.Version.Minor, _
  Environment.Version.Build _
)

Cheers,
Rik

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.