PocketASP Version 2.1 - Update Information
This document contains information on all the updates included in the second version of PocketASP.
|
Contents |
- Version 2.1 New Features
- Doubling of page load performance
- Arrays can be stored in the session object
- Session supports enumeration
- Virtual (aliased) Directory support
- Version 2.1 Bug Fixes
- Inconsistent #include support
- Client-side JScript being lost
- Timing/context problems when using multiple frames
- Response.Redirect & Response.End not halting processing
- Some URLs using # fail
- Memory leaks
- Version 2.0 Bug Fixes
- Cookie behaviour differs from IIS/ASP
- Multi-Valued form data being lost
- <#include> would fail if used in subdirectory
- Using Cookies could result in Pocket IE lockup
- SQL Server CE 'Provider Not Found' Error
- "File count not be found" Typo
- Large pages causing Pocket IE Hang
- 'SET' syntax handling
- Cookies were case sensitive
- Version 2.0 New Features
- New JScript Support
- Built-In ASP Object Enhancements
- Session Start Function
- Enhanced Error Reporting
- System Configuration Checking
- Domain Specific Licences
- Improved performance for Non-Asp page delivery
- Improved exception handling
- Extended collection handling
- Searching Request("item_name") support
- Page Encoding
- New Documentation
- Extended Samples
|
|
V2.1 New Features |
- Doubling of page load performance
The main focus of the 2.1 release was to improve performance, to this end
page processing is 3 times faster, resulting in an overall doubling of apparent
page load speed.
|
- Arrays can be stored in the session object
This feature was requested by a number of clients.
|
- Session supports enumeration
For Each sessitem in Session.Contents is now supported, again a much
requested feature available on IIS but not on PocketASP until now.
|
- Virtual (aliased) Directory support
Taking its lead from PersonalASP, PocketASP now also supports alias application
domain names.
If application source files need to be stored somewhere other than under the
default \PAspPages directory, this can be achieved using the VirtualDirs.txt
file. It contains a list of mappings from virtual domain names to physical locations, in
the following format:
[VirtualDirName] > [Physical Path] (with no trailing slash)
eg:
MyVSite > \MyPASP\MySite (with no trailing slash)
(Note: Pocket I.E. will have to be restarted before updates to the VirtualDirs.txt file
are detected).
The pages in \MyPasp\MySite\ can then be accessed using "PASP://MyVSite/" application domain name.
|
V2.1 Bug Fixes |
- Inconsistent #include support
When an include file included another file, the path was calculated relative to
the original (base) file. This was inconsistent with IIS, which includes files
relative to the path of the file that contains the #include statement.
|
- Client-side JScript being lost
During pre-processing all comments in ASP pages were discarded, however
this caused any client side script (that was in comments) to also be discarded.
|
- Timing/context problems when using multiple frames
Sometimes an error was reported if more than one frame page was updated
at the same time, due to a race condition in passing context information
to the page processor.
If the application is going to use multiple frames in this way, the
registry setting at HKLM\Software\ModeZero\PocketASP\serialize
should be changed from default value (0) to 1.
(Pocket I.E. must be restarted before this changed is detected)
|
- Response.Redirect & Response.End not halting processing
Although page output stopped at an End or Redirect the rest of the script
in the page was being executed, this is no longer the case.
|
- Some URLs using # fail
Parsing error processing some URLs that contain query string information and
a page # reference.
|
- Memory leaks
A number of memory leaks have been found and plugged, not only has this
stopped memory loss, it also improved performance.
|
V2.0 Bug Fixes |
- Cookie behaviour differs from IIS/ASP
If a cookie is set in a page and later in the same page referred to, in PocketASP the value was unset (as the cookie has not been 'sent' from the client yet). In the IIS/ASP implementation the cookie value will be present.
|
- Multi-Valued form data being lost
If a form contains two or more input fields of the same name, all values but the last are lost.
|
- <#include> would fail if used in subdirectory
Where an ASP page is in a subdirectory and includes another file in the same sub-directory the file is reported as not-found.
|
- Using Cookies could result in Pocket IE lockup
Code error that could result in a tight-loop while reading cookie information from file.
|
- SQL Server CE 'Provider Not Found' Error
During pre-processing, the DSN passed to ADOCE was being mutated incorrectly.
|
- "File count not be found" Typo
Incorrect spelling when a file not found error occurred.
|
- Large pages causing Pocket IE Hang
When an ASP page generated page content that exceeded a size of 20K it could cause Pocket IE to lock.
|
- 'SET' syntax handling
Use of the SET keyword when dealing with objects was not consistent with IIS/ASP, there were cases where a SET should be used and was not required and vice-versa.
|
- Cookies were case sensitive
A cookie called "ChocChip" was treated as a different entry to "chocchip".
|
|
2.0 New Features |
New JScript Support |
Included for developers who would rather write their ASP in JScript. |
Although the script language cannot be mixed within a single ASP page, different files within a site can be use either VBScript or JScript. |
JScript can be enabled in the usual way of specifying <%@ Language="JScript" %> as the first line of the ASP file. |
JScript support does include the 'Eval' function, for creating 'dynamic code', which opens up an alternative path to those developers who miss VBScript's 'Execute' function. |
Datebase Note: On Pocket PC 2002 JScript cannot create ADOCE objects, as they are not marked as "Safe For Scripting". Until this is addressed by Microsoft, database support is not available in JScript on Pocket PC 2002. |
|
Built-In ASP Object Enhancements |
Enhanced Request Object |
- Request.Querystring
- With no parameters will return the complete, unprocessed, query string.
- ServerVariables
- URL
- SCRIPT_NAME
- SERVER_NAME
- QUERY_STRING
- HTTP_USER_AGENT
- Extended PASP Server Variables
- PASP_SCREEN_WIDTH
- PASP_SCREEN_HEIGHT
- PASP_WORKAREA_ HEIGHT
- PASP_WORKAREA_ WIDTH
- PASP_DEVICE_TYPE
- PASP_OWNER_INFO
- Enumeration Interface Supported on Request.QueryString collection
- Enumeration Interface Supported on Request.Form collection
|
New Server Object |
- URLEncode
- HTMLEncode
- MapPath
- RegSvr( strDllPath ) - (PASP Extension)
- This call causes a DLL to be registered, which is useful when using COM components within an application.
|
New Session Start Function |
- Content of SessionStart.asa (located in root of domain) will be executed the first time an ASP page is executed in a given domain.
|
|
Enhanced Error Reporting |
To help with debugging on the device, the source code that caused a fault
is displayed whenever possible, along with its filename and an indicator of
where in the line the fault occurred.
|
System Configuration Checking |
PocketASP verifies that the required system components are installed
and registered. Where possible inconsistencies will be automatically
corrected, this removes the need to run the HookUp utility.
|
Domain Specific Licences |
The licencing options have been extended to allow licences to be allocated on
a per-application-domain basis, which will be of use to developers looking to
bundle PocketASP with their product.
Please contact ModeZero for further information.
|
Improved performance for Non-Asp page delivery |
Pages that do not need processing (no .asp suffix) are processed and delivered more quickly.
|
Improved exception handling |
Protection from faults while executing script has been included.
|
Extended collection handling |
In version 1 of PocketASP the long-hand-version was required when extracting data
from objects like Recordsets, this is no longer required
For example, oRecSec.Fields("field").Value can now be just oRecSec("field").
|
Searching Request("field") Support |
As with ASP/IIS, if the Request("field-name") syntax is used, the QueryString, Form,
Cookie and ServerVariables collections will be searched in turn.
|
Page Encoding |
To protect the intellectual property of developers, PocketASP applications can
be encoded, such that the source, images, etc are unreadable.
In addition the application files can be 'tied' to a specific domain name, such
that they will not be available unless called under that domain.
|
New Documentation |
Summary table of support for Built-In ASP Objects (Request, Response, etc).
New 'Getting Started' guide, including a walk through for creating a 'Hello World'
application and answers to common questions asked about developing on PocketASP.
|
|
Extended Samples |
JScript |
Samples file that demonstrate some of the core features supported in the new
JScript language option.
- Processing form data GET/POST'd to ASP page
- Executing Functions
- Including files within files
- Display of available Request.ServerVariables
- Eval function support, for dynamic code development
- Databases manipulation
- Session object support
- Persistent cookies support
|
VBScript |
These new samples have been added to demonstrate how to use some of
the components that come with the Pocket PC, or are freely available.
- File System
- use of the MSCEFile component to view directories and read/write files.
- XML Files
- use of XMLDOM component to both process and generate XML files.
- Server Variables
- list the new server variables available
(Note: These samples could also have been developed in JScript.)
|
|
|
To check for the latest version of this document please visit http://www.modezero.net/PocketASP/support.htm.
ModeZero Ltd, 2003. |