Tips & Notes
Why previous DAF versions cannot be upgraded with DAF 5.0?
Because, DAF configuration datas:
In regards to these difference, it would been very difficult, to convert previous DAF configuration datas to the new organization.
How the new IIS 6.0 architecture (WPIM) affects ISAPI filters?
In short, most ISAPI filters (global and local) implementation are affected because:
What is the purpose of DAF Service?
In short, DAF Service will maintain local copies of user database (if this option is enabled)
Does DAF 4.2 works with Windows 2003 Server/IIS 6.0 ?
No. If briefly tested, DAF 4.2 may seem to support the new IIS 6.0 architecture but it does not.
This article apply to DAF 4.2 installed on a Windows 2003 Server running IIS 6.0 in Worker Process Isolation Mode.
1) Multiple instances of ISAPI filters are running in parallele.
DAF ISAPI filter was designed to run as a single instance. Unfortunately, IIS 6.0 will load several instances of DAF ISAPI filter simultaneously. By design, if DAF filter detects that an instance of itself is already running, it won't start and therefore leave all sites unpprotected (as if DAF wasn't installed).
IIS 6.0 will load an instance of DAF ISAPI filter per worker process (see "Application Pools" in the IIS Manager)
Within a given "Application Pool", when IIS recycle a worker process with pending requests it will start a new process (i.e. load a new instance of DAF ISAPI filter) before stopping the previous worker process. Therefore for a short laps of time 2 instances of DAF ISAPI filter will be running and the second instance will fail to start.
When tested briefly, one instance of the filter may be used and DAF filter will seem to work fine. Problems will occur after recycling a worker process or if several application pools are used.
2) ISAPI filters may remain unloaded for an arbitrary length of time
When IIS needs to recycle a worker process with no client request pending it simply stops the current process. The new process is started on demand (= when receiving the first client request.)
With this scenario, the new instance of DAF filter is started correctly but since it wasn't running for an arbitrary lentgh of time, scheduled tasks were not executed (i.e. user database local copy not updated.)
What is the Client Session State option ?
If client session state is enable, when a client login the DAF assign a session ID used to store the user information. This session ID will be used to handle each successive HTTP incoming request. This mode is usable only with HTML login form and support user inactivity time-out and session log off.
By nature, the session ID must be unique. Unfortunately, by design, with HTTP, there is no obvious solution to affect a unique id to a given client. DAF may store the session ID in a cookie or emdeb it in the Url.