.NET Framework Class Library
ControlMapPathSecure Method

Retrieves the physical path that a virtual path, either absolute or relative, maps to.

Namespace:   System.Web.UI
Assembly:  System.Web (in System.Web.dll)
Syntax
Protected Friend Function MapPathSecure ( _
	virtualPath As [%$TOPIC/0z8yhy2z_en-us_VS_110_1_0_0_0_0%] _
) As [%$TOPIC/0z8yhy2z_en-us_VS_110_1_0_0_0_1%]
protected internal [%$TOPIC/0z8yhy2z_en-us_VS_110_1_0_1_0_0%] MapPathSecure(
	[%$TOPIC/0z8yhy2z_en-us_VS_110_1_0_1_0_1%] virtualPath
)
protected public:
[%$TOPIC/0z8yhy2z_en-us_VS_110_1_0_2_0_0%]^ MapPathSecure(
	[%$TOPIC/0z8yhy2z_en-us_VS_110_1_0_2_0_1%]^ virtualPath
)
member MapPathSecure : 
        virtualPath:[%$TOPIC/0z8yhy2z_en-us_VS_110_1_0_3_0_0%] -> [%$TOPIC/0z8yhy2z_en-us_VS_110_1_0_3_0_1%]

Parameters

virtualPath
Type: SystemString

A relative or root relative URL.

Return Value

Type: SystemString
The physical path to the requested file.
Exceptions
ExceptionCondition
ArgumentNullException

virtualPath is or an empty string ("").

Remarks

This method can only be used by server controls that have permissions to read files and which are part of fully trusted .dll files, such as System.Web.dll. This helps prevent security breaches.

Examples

The following example uses the MapPathSecure method to obtain the physical path of a virtual directory of the containing Page or UserControl object.

' An HttpException occurs if the server control does not,; 
' have permissions to read the resulting mapped file.
output.Write("The Actual Path of the virtual directory : " & _
            MapPathSecure(TemplateSourceDirectory) & "<br>")

' Get all the files from the absolute path of 'MyControl'; 
' using TemplateSourceDirectory which gives the virtual Directory. 
Dim myFiles As String() = Directory.GetFiles(MapPathSecure(TemplateSourceDirectory))
output.Write("The files in this Directory are <br>")

' List all the files. 
Dim i As Integer 
For i = 0 To myFiles.Length - 1
   output.Write(myFiles(i) & "<br>")
Next i
// An HttpException occurs if the server control does not,; 
// have permissions to read the resulting mapped file. 
     output.Write("The Actual Path of the virtual directory : "+
     MapPathSecure(TemplateSourceDirectory)+"<br>");

    // Get all the files from the absolute path of 'MyControl'; 
    // using TemplateSourceDirectory which gives the virtual Directory. 
        string [] myFiles=
        Directory.GetFiles(MapPathSecure(TemplateSourceDirectory));
        output.Write("The files in this Directory are <br>");

         // List all the files. 
         for (int i=0;i<myFiles.Length;i++)
            output.Write(myFiles[i]+"<br>");
Version Information

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0
Platforms

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.