Solved

Server.MapPath("/") in asp.net 2.0

Posted on 2007-12-06
3
9,574 Views
Last Modified: 2010-04-21
in asp.net 2.0 I am trying to use the Server.MapPath("/") to return the root directory of the application...

it errors with:
Exception Details: System.InvalidOperationException: Failed to map the path '/'.
Label1.Text = "Mail sent: " & Server.MapPath("/")

what am I doing wrong? thanks!
0
Comment
Question by:Starr Duskk
3 Comments
 
LVL 29

Accepted Solution

by:
Göran Andersson earned 400 total points
ID: 20423947
That's a bit surprising.

Anyhow, the path "/" doesn't refer to the root directory of the application, but the root directory of the web site. Use "~/" to get the root directory of the application.
0
 
LVL 7

Assisted Solution

by:nisarkhan
nisarkhan earned 100 total points
ID: 20424013
RootUrl - the fully qualified path to the page that should serve as the root node in the site map. If this value isn't specified, the default value is ~/Default.aspx.

see my sample in code snippet:


server.MapPath("/IssueManagement/database/Issues.mdb")
IssueManagement is the app name/virtual directory. database is the directory under it.
This gets mapped to C:\Inetpub\wwwroot\IssueManagement\database\Issues.mdb

Hope this helps
Public Overrides Function BuildSiteMap() As System.Web.SiteMapNode
    'Need to lock to ensure thread safety, since multiple pages in the app
    'might be trying to call this method concurrently
    SyncLock Me
        'See if a root has been defined
        If _root IsNot Nothing Then
            'We have a root - but has the underlying file system been changed?
            If Not _fsMonitor.HasChanged Then
                'No change to FS, returned the cached root
                Return _root
            End If
 
            'The file system has been changed since we've last called
            'BuildSiteMap - we need to rebuild the sitemap
        End If
 
        'If we reach here, either we don't have a root or the file system has
        'been changed must build up the Site Map. Clear out the site map, if 
        'it already exists...
        Refresh()
 
        'Create a root node
        _root = CreateFolderNode(HttpContext.Current.Server.MapPath(RootUrl), RootUrl)
        _root.Title = RootTitle
 
        'Establish the cache dependency
        _fsMonitor = New CacheDependency(HttpContext.Current.Server.MapPath("~/"))
 
        AddNode(_root)  'Add the root to the site map
 
        'Recurse through the file system, adding nodes
        BuildSiteMapFromFileSystem(_root, "~/")
 
        Return _root
    End SyncLock
End Function

Open in new window

0
 
LVL 2

Author Closing Comment

by:Starr Duskk
ID: 31413274
thanks guys!
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Generate Unique ID in VB.NET 21 99
Need syntax help building hyperlink 2 38
asp web application 3 35
Asp.Net Session Question 2 33
Introduction This article shows how to use the open source plupload control to upload multiple images. The images are resized on the client side before uploading and the upload is done in chunks. Background I had to provide a way for user…
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

679 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question