Sideway
output.to from Sideway




MapPath / GetLastError


Draft for Information Only

Content

Server Object
Server.MapPath Method
   Syntax:
   Parameters:
   Return Values:
   Remarks:
  Examples:
Server.GetLastError Method
   Syntax:
   Parameters:
   Return Values:
   Remarks:
  Examples:

Server Object

Server object also provides some utility functions on the server.

Server.MapPath Method

Server.MapPath Method maps and converts the specified path including virtual path on the server, or relative path relative to the page into the corresponding physical path..

Syntax:

MapPath(
    Path
)

 Or in an ASP file. Imply

<% Server.MapPath(path) %>

Parameters:

Path

The paramete "Path" specifies the relative or virtual path to map to a physical directory. For Path start with either a forword (/) or backward slash (\), the Mappath method returns a path as if Path were a full, wirtual path. For Path doesn't start with a slash, the MapPath method returns a path relative to the directory of the ASP file being processed.

Return Values:

The mapped path string.

Remarks:

For Path start with either a forword (/) or backward slash (\), the Mappath method returns a path as if Path were a full, virtual path. For Path doesn't start with a slash, the MapPath method returns a path relative to the directory of the ASP file being processed.

The Server.MapPath Method returns the ASP 0173 error, "Invalid Path Character", if the parameter Path contains any of the following characters:

  • Asterisk (*)

  • Question mark (?)

  • Angle brackets (< or >)

  • Comma (,}

  • Colon or semi-colon (: or :)

  • Single-quote or double-quote (' or ")

  • Right square bracket (])

  • Double slashes (// or \\)

The Server.MapPath method does not check whether the path it retruns is valid or exists on the server. Because the Server.MapPath method maps a path regardless of whether the specified directories currently exist,  the Server.MapPath method to map a path to a physical directory structure, and then pass that to a component that creates the specified directory or file on the server.

Server.MapPath is not available to the Session_OnEnd and the Application_OnEnd events.

For security reason, the AspEnableParentPaths property has a default value set to FALSE. Scripts will not have access to the physical directory structure unless AspEnableParentPaths is set to True

Examples:

  • To map the PATH_INFO to the physical path by Server.MapPath

    ASP script command:

    <% 'run at c:\webroot\sideway\default.asp
    Response.Write _
    Server.MapPath(Request.ServerVariables("PATH_INFO")) & "<br />"
    Response.Write (Request.ServerVariables("PATH_INFO"))
    %>

    HTTP response output:

    C:\webroot\sideway\default.asp<br />
    /sideway/default.asp

    HTML web page ouput

    C:\webroot\sideway\default.asp
    /sideway/default.asp

  • To map the PATH_INFO to the physical path by Server.MapPath

    ASP script command:

    <% 'run at c:\webroot\sideway\default.asp
    Response.Write Server.MapPath("./../sideway/default.asp") & "<br />"
    Response.Write Server.MapPath("../../sideway/default.asp") & "<br />"
    Response.Write Server.MapPath("/../sideway/default.asp") & "<br />"
    Response.Write Server.MapPath("./sideway/default.asp") & "<br />"
    Response.Write Server.MapPath("../sideway/default.asp") & "<br />"
    Response.Write Server.MapPath("/sideway/default.asp") & "<br />"
    Response.Write Server.MapPath("sideway/default.asp") & "<br />"
    Response.Write Server.MapPath("./default.asp") & "<br />"
    Response.Write Server.MapPath("../default.asp") & "<br />"
    Response.Write Server.MapPath("/default.asp") & "<br />"
    Response.Write Server.MapPath("default.asp") & "<br />"
    Response.Write Server.MapPath("./") & "<br />"
    Response.Write Server.MapPath("../") & "<br />"
    Response.Write Server.MapPath("/") & "<br />"
    Response.Write Server.MapPath(".") & "<br />"
    Response.Write Server.MapPath("..") & "<br />"
    %>

    HTTP response output:

    C:\webroot\sideway\default.asp<br />
    C:\sideway\default.asp<br />
    C:\webroot\sideway\default.asp<br />
    C:\webroot\sideway\sideway\default.asp<br />
    C:\webroot\sideway\default.asp<br />
    C:\webroot\sideway\default.asp<br />
    C:\webroot\sideway\sideway\default.asp<br />
    C:\webroot\sideway\default.asp<br />
    C:\webroot\default.asp<br />
    C:\webroot\default.asp<br />
    C:\webroot\sideway\default.asp<br />
    C:\webroot\sideway<br />
    C:\webroot<br />
    C:\webroot<br />
    C:\webroot\sideway<br />
    C:\webroot<br />

    HTML web page ouput

    C:\webroot\sideway\default.asp
    C:\sideway\default.asp
    C:\webroot\sideway\default.asp
    C:\webroot\sideway\sideway\default.asp
    C:\webroot\sideway\default.asp
    C:\webroot\sideway\default.asp
    C:\webroot\sideway\sideway\default.asp
    C:\webroot\sideway\default.asp
    C:\webroot\default.asp
    C:\webroot\default.asp
    C:\webroot\sideway\default.asp
    C:\webroot\sideway
    C:\webroot
    C:\webroot
    C:\webroot\sideway
    C:\webroot

Server.GetLastError Method

Server.GetLastError Method gets the last error from the ASPError that describes the error condition of processing the script in an ASP file.

Syntax:

GetLastError(
)

 Or in an ASP file. Imply

<% Server.GetLastError() %>

Parameters:

void

This method has no parameters..

Return Values:

Server.GetLastError Method returns the last instance of ASPError.

Remarks:

This method is available only before the .asp file has sent any content to the client. 

A 500;100 custom error will be generated if IIS encounters an error while processing either an .asp file or the application's Global.asa file.

If a 500:100 custom error has been defined for an ASP application, it may refer to an ASP file. In this case, when an error occurs during the running of an ASP file within the application, the server automatically transfers to this ASP page via the Server.Transfer method. All of the state information from the executing ASP application will be available to the ASP file that is handlingthe error. In addition, the ASPError Object will be available, so that the properties of the error can be exposed through the ASP file that can be set up for handling the error.

The Default Web sit is configured to use the file \iishelp\common\500-100.asp. Either this file or a self created file can be used for processing ASP errors. The file for processing the 500:100 custom errors can be changed through the IIS Manager.

Examples:

  • To obtain the last instance of the ASPError by Server.GetLastError and display the ASPError properties

    ASP script command:

    <%
    Set ErrInfo = Server.GetLastError
    Response.Write("ASPCodeof ASPError = " & ErrInfo.ASPCode)
    Response.Write("ASPDescriptionof ASPError = " & ErrInfo.ASPDescription)
    Response.Write("Categoryof ASPError = " & ErrInfo.Category)
    Response.Write("Columnof ASPError = " & ErrInfo.Column)
    Response.Write "Descriptionof ASPError = " & _
    ErrInfo.Description)
    Response.Write("Fileof ASPError = " & ErrInfo.File)
    Response.Write("Lineof ASPError = " & ErrInfo.Line)
    Response.Write("Numberof ASPError = " & ErrInfo.Number)
    Response.Write("Sourceof ASPError = " & ErrInfo.Source)
    %>

  • The three common types of error that generate a 500:100 custom error are:

    ASP script command:

    <%
    ' Preprocessing errors of the include statement
    <!--#include filo=inc.h-->
    for i=0 to 10
    a=100/i
    next
    %>

    ASP script command:

    <%
    'Script compiling errors of the For ... Next loop
    <!--#include file=inc.h-->
    for i=0 to 10
    a=100/i
    noxt
    %>

    ASP script command:

    <%
    ' Run-time errors of the a=100/i statement attempt to divide by 0
    <!--#include fole=inc.h-->
    for i=10 to 0 step -1
    a=100/i
    next
    %>


©sideway
close

References

  1. Active Server Pages, http://msdn.microsoft.com/en-us/library/aa286483.aspx, updated 20Dec2012
  2. ASP Overview, http://msdn.microsoft.com/en-us/library/ms524929%28v=vs.90%29.aspx, updated 21Dec2012
  3. ASP Best Practices, http://technet.microsoft.com/en-us/library/cc939157.aspx, updated 15Apr2013
  4. ASP Built-in Objects, http://msdn.microsoft.com/en-us/library/ie/ms524716(v=vs.90).aspx, updated 20Dec2012
  5. Response Object, http://msdn.microsoft.com/en-us/library/ms525405(v=vs.90).aspx, updated 20Dec2012
  6. Request Object, http://msdn.microsoft.com/en-us/library/ms524948(v=vs.90).aspx, updated 20Dec2012
  7. Server Object (IIS), http://msdn.microsoft.com/en-us/library/ms525541(v=vs.90).aspx, updated 20Dec2012
  8. Application Object (IIS), http://msdn.microsoft.com/en-us/library/ms525360(v=vs.90).aspx, updated 20Dec2012
  9. Session Object (IIS), http://msdn.microsoft.com/en-us/library/ms524319(8v=vs.90).aspx, updated 20Dec2012
  10. ASPError Object, http://msdn.microsoft.com/en-us/library/ms524942(v=vs.90).aspx, updated 20Dec2012
  11. ObjectContext Object (IIS), http://msdn.microsoft.com/en-us/library/ms525667(v=vs.90).aspx, updated 20Dec2012
  12. Debugging Global.asa Files, http://msdn.microsoft.com/en-us/library/aa291249(v=vs.71).aspx, updated 15Apr2013
  13. How to: Debug Global.asa files, http://msdn.microsoft.com/en-us/library/ms241868(v=vs.80).aspx, updated 15Apr2013
  14. Calling COM Components from ASP Pages, http://msdn.microsoft.com/en-us/library/ms524620(v=VS.90).aspx, updated 15Apr2013
  15. IIS ASP Scripting Reference, http://msdn.microsoft.com/en-us/library/ms524664(v=vs.90).aspx, updated 15Apr2013
  16. ASP Keywords, http://msdn.microsoft.com/en-us/library/ms524672(v=vs.90).aspx, updated 15Apr2013
  17. Creating Simple ASP Pages, http://msdn.microsoft.com/en-us/library/ms524741(v=vs.90).aspx, updated 15Apr2013
  18. Including Files in ASP Applications, http://msdn.microsoft.com/en-us/library/ms524876(v=vs.90).aspx, updated 15Apr2013
  19. ASP Overview, http://msdn.microsoft.com/en-us/library/ms524929(v=vs.90).aspx, updated 15Apr2013
  20. FileSystemObject Object, http://msdn.microsoft.com/en-us/library/z9ty6h50(v=vs.84).aspx, updated 14Mayr2013
  21. http://msdn.microsoft.com/en-us/library/windows/desktop/ms675944(v=vs.85).aspx, ADO Object Model, updated 15Apr2013
  22. ADO Fundamentals, http://msdn.microsoft.com/en-us/library/windows/desktop/ms680928(v=vs.85).aspx, updated 14Mayr2013
close

ID: 120200031 Last Updated: 2/10/2012 Revision: 0 Ref:

IMAGE

Home (5)

Business

Management

HBR (3)

Information

Recreation

Hobbies (7)

Culture

Chinese (1097)

English (336)

Reference (66)

Computer

Hardware (149)

Software

Application (187)

Digitization (24)

Numeric (19)

Programming

Web (644)new

CSS (SC)

ASP.NET (SC)

Regular Expression (SC)

HTML

Knowledge Base

Common Color (SC)

Html Entity (Unicode) (SC)

Html 401 Special (SC)

OS (389)new

MS Windows

Windows10 (SC)

.NET Framework (SC)

DeskTop (7)

Knowledge

Mathematics

Formulas (8)

Number Theory (206)

Algebra (20)

Trigonometry (18)

Geometry (18)

Calculus (67)

Complex Analysis (21)

Engineering

Tables (8)

Mechanical

Mechanics (1)

Rigid Bodies

Statics (92)

Dynamics (37)

Fluid (5)

Fluid Kinematics (5)

Control

Process Control (1)

Acoustics (19)

FiniteElement (2)

Biology (1)

Geography (1)

Latest Updated Links

Copyright © 2000-2019 Sideway . All rights reserved Disclaimers last modified on 10 Feb 2019