ASP has undergone several important changes and enhancements. If you are updating your application from a previous version of ASP, you should be aware of these changes.
Note To learn about new ASP features, see What's New in ASP.
- Buffering is Now On By Default In IIS 4.0, content buffering was off by default. In IIS 5.0, unless a script specifically turns off buffering, its output is always buffered. This means that the final output will be sent to the client at the completion of processing or when the script calls the Response.Flush method. When upgrading from IIS 4.0 to IIS 5.0, the 4.0 settings are maintained. Therefore, content buffering will remain off until it is turned on. For more information, see the Buffering Content section in the Sending Content to the Browser topic.
- Response.IsClientConnected In IIS 4.0, Response.IsClientConnected returned the correct information only if an ASP file sent content to the browser. In IIS 5.0, an ASP file can use the IsClientConnected property prior to sending content to the browser. For more information, see IsClientConnected.
- Improved Include File Security In IIS 4.0, when an include file resided in a virtual root mapped to a physical path, ASP did not use the security credentials of the physical path to process the file. In IIS 5.0, ASP applies the credentials of the physical path when processing include files. For more information, see Including Files.
- Default Document Query String Behavior In IIS 5.0, if an .asp (or .cdx) file is configured as the default document, it can now receive a query string from a URL that does not specify the default document. For example, the URLs
http://www.microsoft.com/default.asp?newuser=true
and http://www.microsoft.com/?newuser=true
will both send a query string value to the default .asp file.
- Transaction Flags IIS 4.0 used the required, requires new, and not supported transaction flags to indicate that ASP was starting a new transaction. In IIS 5.0, this behavior is unchanged. However, if an .asp file executes a transacted .asp file using the new Server.Execute or Server.Transfer methods, then the transaction flag state is maintained for the second .asp file. If the second .asp file's transaction flags indicate that transactions are supported or required, then the existing transaction will be used and a new transaction will not be started.
- Behavior of Both-Modeled Objects A Both-Modeled COM object which does not support the Free-Threaded Marshaller will fail if it is stored in Application state. Both-Modeled components must aggregate the Free-Threaded Marshaller to be stored in Application state.
- Configurable Entries Moved to the Metabase The following IIS 4.0 registry entries are now in the metabase:
- ProcessorThreadMax
- ErrorsToNTLog
For IIS 5.0, all configurable parameters for ASP can be modified from the metabase.
- Security for Local Server COM Objects IIS uses a new Windows COM feature called cloaking to enable local server applications instantiated from an .asp file to have the security context of the originating client. In previous versions, the identity assigned to the local server COM object depended on the identity of the user who created the object instance.
- Objects Released Earlier In IIS 4.0, COM objects were only released when ASP finished processing a page. In IIS 5.0, if a COM object does not use the OnEndPage method and the reference count for the object is zero, then the object is released prior to the completion of processing.