|
|
|
date: Mon, 28 Apr 2008 13:58:00 -0700,
group: microsoft.public.platformsdk.internet.server.isapi-dev
back
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
|
|