Ureader.com  
Microsoft software help and Community
   home   |   control panel login   |   archive   |  
 
platform
active.directory
adsi
adsi.iis-admin
base
com_ole
complus_mts
component_svcs
database
directx
gdi
graphics_mm
internet.client
internet.server
internet.server.isapi-dev
localization
mapi
messaging
msi
mslayerforunicode
multimedia
networking
networking.ipv6
sdk_install
security
shell
telephony.tapi_2
telephony.tapi_3
telephony.tsp
telephony.wte
tools
ui
ui_shell
win_base_svcs
win16
  
 
date: Mon, 28 Apr 2008 13:58:00 -0700,    group: microsoft.public.platformsdk.internet.server.isapi-dev        back       


IIS 6 health pings and ISAPI filters   
Hi...

I've been googling around for the last hour or so trying to figure out how 
to get an ISAPI filter exercised by a health ping request.  I've seen a few 
docs referring to HSE_REQ_REPORT_UNHEALTHY that you can use with 
ServerSupportFunction on an ISAPI extension and allusions that you get the 
opportunity to use that with health pings but I've seen nothing equivalent 
for ISAPI filters.

I also haven't been able to find a stage an ISAPI filter gets that is 
exercised by the health ping.  Or maybe I've just set something up improperly.

I've got health pings configured for every 20 seconds in my work group and 
have breakpoints in my ISAPI whenever it's hit but it's not tripping.

Does the health ping only exercise an extension?  Is there a way to catch 
them in filters?

Thanks
Mark
date: Mon, 28 Apr 2008 13:58:00 -0700   author:   Mark am

RE: IIS 6 health pings and ISAPI filters   
Hi Mark,

First of all, I'd like to know if you actually want to trigger a recycling 
in your filter?

HSE_REQ_REPORT_UNHEALTHY is a support function of ISAPI extension. There is 
no way to call it from a filter. Also HSE_REQ_REPORT_UNHEALTHY will count 
towards crash count. A unsupported way to do the similar job anywhere is to 
dereference a null pointer(not recommended)... which also counts towards 
the crash count. Also there is actually no advantage to 
HSE_REQ_REPORT_UNHEALTHY vs dereference null and there is the disadvantage 
that the actual recycle will not happen until the next ping interval. 
Furthermore Rapid Fail Protection will kick in to disable the application 
pool if you do them too often. 

A recommended solution of mine is you may consider writing a little Web 
Service/COM+ object or a system service running as Admin or LocalSystem 
that exposes one function, e.g. RecycleAppPool. Then call them from your 
filter when necessary to recycle the pool. For web service, using 
impersonation in web.config or putting it in a pool with LocalSystem to 
ensure it has the required permission. And you should not do this from 
within an IIS website that is running in the same AppPool (for obvious 
reasons).

Please update here if you have any further question.

Havea great day.

Sincerely,

WenJun Zhang

Microsoft Online Community Support

Delighting our customers is our #1 priority. We welcome your comments and 
suggestions about how we can improve the support we provide to you. Please 
feel free to let my manager know what you think of the level of service 
provided. You can send feedback directly to my manager at: 
msdnmg@microsoft.com.

==================================================
Get notification to my posts through email? Please refer to 
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues 
where an initial response from the community or a Microsoft Support 
Engineer within 1 business day is acceptable. Please note that each follow 
up response may take approximately 2 business days as the support 
professional working with you may need further investigation to reach the 
most efficient resolution. The offering is not appropriate for situations 
that require urgent, real-time or phone-based interactions or complex 
project analysis and dump analysis issues. Issues of this nature are best 
handled working with a dedicated Microsoft Support Engineer by contacting 
Microsoft Customer Support Services (CSS) at 
http://msdn.microsoft.com/subscriptions/support/default.aspx.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
date: Tue, 29 Apr 2008 09:53:41 GMT   author:   (WenJun Zhang[msft])

RE: IIS 6 health pings and ISAPI filters   
Hi WenJun...

Actually, I'm not interested in HSE_REQ_REPORT_UNHEALTHY; I'm interested in 
how to make an ISAPI filter aware of the health monitor ping if I can.  I'd 
like to use the ping to trigger some housekeeping.

I can implement a fake url into the ISAPI filter to manually trigger some 
housekeeping, but if there are several worker processes in an app pool, 
someone browsing to that url wouldn't know if they had refreshed all the 
workers.

I was hoping to use the fact that the health ping hits all worker processes 
to implement the housekeeping, but I can't find a way to make the ISAPI 
filter aware of the health ping.

I mentioned HSE_REQ_REPORT_UNHEALTHY because it was mentioned in several 
discussions as being related to the health ping.  I didn't know if extensions 
could get the ping and filters could not, or if filters simply had to do it 
another way.

Thanks
Mark


""WenJun Zhang[msft]"" wrote:

> Hi Mark,
> 
> First of all, I'd like to know if you actually want to trigger a recycling 
> in your filter?
> 
> HSE_REQ_REPORT_UNHEALTHY is a support function of ISAPI extension. There is 
> no way to call it from a filter. Also HSE_REQ_REPORT_UNHEALTHY will count 
> towards crash count. A unsupported way to do the similar job anywhere is to 
> dereference a null pointer(not recommended)... which also counts towards 
> the crash count. Also there is actually no advantage to 
> HSE_REQ_REPORT_UNHEALTHY vs dereference null and there is the disadvantage 
> that the actual recycle will not happen until the next ping interval. 
> Furthermore Rapid Fail Protection will kick in to disable the application 
> pool if you do them too often. 
> 
> A recommended solution of mine is you may consider writing a little Web 
> Service/COM+ object or a system service running as Admin or LocalSystem 
> that exposes one function, e.g. RecycleAppPool. Then call them from your 
> filter when necessary to recycle the pool. For web service, using 
> impersonation in web.config or putting it in a pool with LocalSystem to 
> ensure it has the required permission. And you should not do this from 
> within an IIS website that is running in the same AppPool (for obvious 
> reasons).
> 
> Please update here if you have any further question.
> 
> Havea great day.
> 
> Sincerely,
> 
> WenJun Zhang
> 
> Microsoft Online Community Support
> 
> Delighting our customers is our #1 priority. We welcome your comments and 
> suggestions about how we can improve the support we provide to you. Please 
> feel free to let my manager know what you think of the level of service 
> provided. You can send feedback directly to my manager at: 
> msdnmg@microsoft.com.
> 
> ==================================================
> Get notification to my posts through email? Please refer to 
> http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
> ications.
> 
> Note: The MSDN Managed Newsgroup support offering is for non-urgent issues 
> where an initial response from the community or a Microsoft Support 
> Engineer within 1 business day is acceptable. Please note that each follow 
> up response may take approximately 2 business days as the support 
> professional working with you may need further investigation to reach the 
> most efficient resolution. The offering is not appropriate for situations 
> that require urgent, real-time or phone-based interactions or complex 
> project analysis and dump analysis issues. Issues of this nature are best 
> handled working with a dedicated Microsoft Support Engineer by contacting 
> Microsoft Customer Support Services (CSS) at 
> http://msdn.microsoft.com/subscriptions/support/default.aspx.
> ==================================================
> This posting is provided "AS IS" with no warranties, and confers no rights.
> 
>
date: Tue, 29 Apr 2008 06:49:02 -0700   author:   Mark am

Re: IIS 6 health pings and ISAPI filters   
That is not possible. Health "Pinging" is internal to IIS and does not
trigger any extra events anywhere that users can extend.

HSE_REQ_REPORT_UNHEALTHY actually works like this -- when you call it
in the worker process, it logs the event and then intentionally makes
the worker process stop responding to the Health Pinging, which will
eventually trigger the recycle action sequence from WAS. Thus, it
doesn't perform the recycling nor does it do anything with the health
ping (other than to tell the worker process to stop answering the
ping).

If you want the action to be periodic, why don't you use Win32
primatives to set your own timer and callback function to do the
housekeeping? Since the Filter DLL eventually loads in each worker
process of a Web Garden, they can handle themselves.


//David
http://w3-4u.blogspot.com
http://blogs.msdn.com/David.Wang
//



On Apr 29, 6:49 am, Mark <mmodr...@nospam.nospam> wrote:
> Hi WenJun...
>
> Actually, I'm not interested in HSE_REQ_REPORT_UNHEALTHY; I'm interested in
> how to make an ISAPI filter aware of the health monitor ping if I can.  I'd
> like to use the ping to trigger some housekeeping.
>
> I can implement a fake url into the ISAPI filter to manually trigger some
> housekeeping, but if there are several worker processes in an app pool,
> someone browsing to that url wouldn't know if they had refreshed all the
> workers.
>
> I was hoping to use the fact that the health ping hits all worker processes
> to implement the housekeeping, but I can't find a way to make the ISAPI
> filter aware of the health ping.
>
> I mentioned HSE_REQ_REPORT_UNHEALTHY because it was mentioned in several
> discussions as being related to the health ping.  I didn't know if extensions
> could get the ping and filters could not, or if filters simply had to do it
> another way.
>
> Thanks
> Mark
>
>
>
> ""WenJun Zhang[msft]"" wrote:
> > Hi Mark,
>
> > First of all, I'd like to know if you actually want to trigger a recycling
> > in your filter?
>
> > HSE_REQ_REPORT_UNHEALTHY is a support function of ISAPI extension. There is
> > no way to call it from a filter. Also HSE_REQ_REPORT_UNHEALTHY will count
> > towards crash count. A unsupported way to do the similar job anywhere is to
> > dereference a null pointer(not recommended)... which also counts towards> > the crash count. Also there is actually no advantage to
> > HSE_REQ_REPORT_UNHEALTHY vs dereference null and there is the disadvantage
> > that the actual recycle will not happen until the next ping interval.
> > Furthermore Rapid Fail Protection will kick in to disable the application
> > pool if you do them too often.
>
> > A recommended solution of mine is you may consider writing a little Web
> > Service/COM object or a system service running as Admin or LocalSystem
> > that exposes one function, e.g. RecycleAppPool. Then call them from your> > filter when necessary to recycle the pool. For web service, using
> > impersonation in web.config or putting it in a pool with LocalSystem to
> > ensure it has the required permission. And you should not do this from
> > within an IIS website that is running in the same AppPool (for obvious
> > reasons).
>
> > Please update here if you have any further question.
>
> > Havea great day.
>
> > Sincerely,
>
> > WenJun Zhang
>
> > Microsoft Online Community Support
>
> > Delighting our customers is our #1 priority. We welcome your comments and
> > suggestions about how we can improve the support we provide to you. Please
> > feel free to let my manager know what you think of the level of service
> > provided. You can send feedback directly to my manager at:
> > msd...@microsoft.com.
>
> > ==================================================
> > Get notification to my posts through email? Please refer to
> >http://msdn.microsoft.com/subscriptions/managednewsgroups/default.asp...
> > ications.
>
> > Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
> > where an initial response from the community or a Microsoft Support
> > Engineer within 1 business day is acceptable. Please note that each follow
> > up response may take approximately 2 business days as the support
> > professional working with you may need further investigation to reach the
> > most efficient resolution. The offering is not appropriate for situations
> > that require urgent, real-time or phone-based interactions or complex
> > project analysis and dump analysis issues. Issues of this nature are best
> > handled working with a dedicated Microsoft Support Engineer by contacting
> > Microsoft Customer Support Services (CSS) at
> >http://msdn.microsoft.com/subscriptions/support/default.aspx.
> > ==================================================
> > This posting is provided "AS IS" with no warranties, and confers no rights.- Hide quoted text -
>
> - Show quoted text -
date: Tue, 29 Apr 2008 23:24:25 -0700 (PDT)   author:   David Wang

Re: IIS 6 health pings and ISAPI filters   
Hi Mark,

Just wonder if you have any further question on this?

Have a nice week.

Sincerely,

WenJun Zhang

Microsoft Online Community Support

Delighting our customers is our #1 priority. We welcome your comments and 
suggestions about how we can improve the support we provide to you. Please 
feel free to let my manager know what you think of the level of service 
provided. You can send feedback directly to my manager at: 
msdnmg@microsoft.com.

==================================================
Get notification to my posts through email? Please refer to 
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues 
where an initial response from the community or a Microsoft Support 
Engineer within 1 business day is acceptable. Please note that each follow 
up response may take approximately 2 business days as the support 
professional working with you may need further investigation to reach the 
most efficient resolution. The offering is not appropriate for situations 
that require urgent, real-time or phone-based interactions or complex 
project analysis and dump analysis issues. Issues of this nature are best 
handled working with a dedicated Microsoft Support Engineer by contacting 
Microsoft Customer Support Services (CSS) at 
http://msdn.microsoft.com/subscriptions/support/default.aspx.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
date: Mon, 05 May 2008 03:43:18 GMT   author:   (WenJun Zhang[msft])

Google
 
Web ureader.com


    COPYRIGHT 2007, YARDI TECHNOLOGY LIMITED, ALL RIGHT RESERVE  |   contact us