Seeing the content of a request in an application ppol

Simon Verona 6 Reputation points
2022-06-20T09:52:44.217+00:00

I have an application pool associated with a web service. If I monitor the apppool over a period of time, I see a growing number of requests that just seem to "stick" in the queue :-

eg appcmd LIST REQUESTS

REQUEST "fe000000800038e1" (url:POST /DmsNavigator.NavigatorWebService.svc/CallProg, time:3121282 msec, client:172.70.85.192, stage:ExecuteRequestHandler, module:ManagedPipelineHandler)
REQUEST "f800000080022640" (url:POST /DmsNavigator.NavigatorWebService.svc/CallProg, time:3022219 msec, client:172.70.85.192, stage:ExecuteRequestHandler, module:ManagedPipelineHandler)
REQUEST "f2000001800186f8" (url:POST /DmsNavigator.NavigatorWebService.svc/CallProg, time:32 msec, client:141.101.99.15, stage:ExecuteRequestHandler, module:ManagedPipelineHandler)
REQUEST "fa00000180000fb6" (url:POST /DmsNavigator.NavigatorWebService.svc/CallProg, time:5952547 msec, client:141.101.99.242, stage:ExecuteRequestHandler, module:ManagedPipelineHandler)
REQUEST "f4000000800229f4" (url:POST /DmsNavigator.NavigatorWebService.svc/CallProg, time:5853500 msec, client:141.101.99.242, stage:ExecuteRequestHandler, module:ManagedPipelineHandler)
REQUEST "eb000001800002c6" (url:POST /DmsNavigator.NavigatorWebService.svc/CallProg, time:5615016 msec, client:141.101.99.16, stage:ExecuteRequestHandler, module:ManagedPipelineHandler)
REQUEST "fc0000018001969c" (url:POST /DmsNavigator.NavigatorWebService.svc/CallProg, time:5515485 msec, client:141.101.98.147, stage:ExecuteRequestHandler, module:ManagedPipelineHandler)
REQUEST "f4000000800236c6" (url:POST /DmsNavigator.NavigatorWebService.svc/CallProg, time:3319407 msec, client:172.70.85.193, stage:ExecuteRequestHandler, module:ManagedPipelineHandler)

As can be seen, each of these are to the same URL. What I want to be able to see is the data POSTED to the web service so I can idenfity exactly what each request that is stuck is actually doing. I'd rather not generate detailed logging as there are many tens of thousands of calls per hour into the web server. Is there a way of getting more information on a given request ?

Internet Information Services
0 comments No comments
{count} vote

1 answer

Sort by: Most helpful
  1. Yurong Dai-MSFT 2,836 Reputation points Microsoft Vendor
    2022-06-21T09:34:09.977+00:00

    Hi @Simon Verona ,

    As you said, the request object allows you to inspect the currently executing requests on the server:

    %systemroot%\system32\inetsrv\APPCMD list requests  
    

    The list can be restricted to the requests of a particular site, application pool, worker process, or url by using the appropriate property to filter the results. Here are some examples:

    %systemroot%\system32\inetsrv\APPCMD list requests /apppool.name: DefaultAppPool  
    %systemroot%\system32\inetsrv\APPCMD list requests /wp.name: 3567  
    %systemroot%\system32\inetsrv\APPCMD list requests /site.id:1  
    

    Of course, you can directly view the records in the IIS log. The default IIS log path is: %SystemDrive%\inetpub\logs\LogFiles

    If you want to see the detailed data content passed in, it is recommended that you enable FRT and view the corresponding FailedReqLog.


    If the answer is the right solution, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    Best regards,
    Yurong Dai

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.