Fiddler showing multiple entries for a single request

10 posts, 0 answers
  1. Avrohom Yisroel
    Avrohom Yisroel avatar
    52 posts
    Member since:
    Jan 2011

    Posted 31 Dec 2018 Link to this post

    I'm using Fiddler to look at requestsare being made by a WPF/WCF application I'm developing in Visual Studio.

    I changed the app.config file so that the WPF project makes requests to http://localhost.fiddler:50000/ instead of the usual http://localhost:50000/, but for each request, Fiddler shows multiple entries.

    See the attached screenshot, where you can see three entries for the call I made to CustomerService.svc for a customer list. You can tell this is the list call from the size of the return data.

    If I add breakpoints in VS, I can see that there is actually only one call being made, but Fiddler shows three.

    Anyone able to explain why. This is making debugging very confusing.

    Thanks

  2. Alexander
    Admin
    Alexander avatar
    383 posts

    Posted 02 Jan Link to this post

    Hi,

    Would it be possible to send me a .saz file containing those sessions? You can do that by selecting them -> Save -> Selected Sessions -> in ArchiveZip.

    Regards,
    Alexander
    Progress Telerik
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
  3. Avrohom Yisroel
    Avrohom Yisroel avatar
    52 posts
    Member since:
    Jan 2011

    Posted 06 Jan in reply to Alexander Link to this post

    Hello,

    How am I supposed to attach a file? It only allows me to attach image files. I changed the extension of the attached file from .saz to .jpg to fool your uploader, but this isn't a very helpful system. Anyway, don't forget to rename the file to .saz before trying to use it.

    Thanks

    P.S. By the way, how do I filter the results to show only calls to localhost:50000? I tried checking the Use Filters checkbox on the Filters tab, entering localhost:50000 in the textbox and then clicking the Actions button and choosing "Run filterset now" but that just cleared the results. It didn't show me the calls to localhost:50000 that had already been made, and didn't show any new ones either.

    Thanks again

  4. Alexander
    Admin
    Alexander avatar
    383 posts

    Posted 08 Jan Link to this post

    Hi,

    Please, excuse us for the inconvenience caused. Your workaround works great in this case.

    Based on the SAZ file you provided it seems that 3 different requests have been made to /customer/CustomerService.svc with Content-Length: 1,467,147. I can tell they are different requests because the responses are different and more specifically - the response headers "Set-Cookie:" are different.

    About the filtering - which textbox you've entered the host in? The one in the "Hosts" area? If yes, did you select "Show only the following hosts" in the "- No Host Filter -" dropdown (the second on in the "Hosts" area)?

    Regards,
    Alexander
    Progress Telerik
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
  5. Avrohom Yisroel
    Avrohom Yisroel avatar
    52 posts
    Member since:
    Jan 2011

    Posted 09 Jan in reply to Alexander Link to this post

    Hello,

    Thanks for the reply.

    I know the file shows three requests, but only one was made. I know that because I have a breakpoint set on the method, and it only gets hit once. I pointed this out in my original post.

    Despite this, Fiddler shows three calls. That's what I'm trying to understand.

    As for the filtering, please see the attached screenshot for my settings. This does not show anything in Fiddler. All I did to set this up was to change the endpoint addresses from localhost:50000 to localhost.fiddler:50000.

    I did notice that when I did this, my breakpoints weren't hit. They were only hit if I left the endpoint addresses as they were, and ran the solution without Fiddler.

    Any ideas? Thanks again

  6. Alexander
    Admin
    Alexander avatar
    383 posts

    Posted 17 Jan Link to this post

    Hello,

    I'm trying to diagnose this, so please, bear with me.

    In my last post I may not be completely clear. What I meant was that 3 separate requests were sent to the server and this can be easily proven by the different values of the "Set-Cookie:" response headers. If they are different then the server generated 3 different session IDs. However, based on that I'm still unable to tell who made the requests - your application or Fiddler. If the responses were completely equal we could safely assume that there is bug in Fiddler.

    Do you need to use "localhost.fiddler" mechanism or you can let your app to use the default system proxy? If yes, would it be possible to configure it that way so we can simplify the setup?

    Another way of tackling this problem is to create a sample projects demonstrating this behavior. I would be more than glad to take a look at it and diagnose it locally.

    Regards,
    Alexander
    Progress Telerik
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
  7. Avrohom Yisroel
    Avrohom Yisroel avatar
    52 posts
    Member since:
    Jan 2011

    Posted 17 Jan in reply to Alexander Link to this post

    Hello, thanks for the explanation.

    I have set tracepoints in my code, and can confirm that the server is only actually being hit once, so even if Fiddler is generating three calls, only one is actually being handled. This sounds to me like Fiddler isn't actually calling the service three times, although how you explain the different cookie headers is a mystery.

    I only used localhost.fiddler as it was the only way I could see to get Fiddler to show requests made when debugging in Visual Studio. If you have another way, please explain. I'm not sure what you mean by the default system proxy.

    It's worth noting that this service call is to get data, so the results will be the same each time it's run, assuming the data wasn't changed between calls of course.

    I'm not sure how easy it would be to isolate this issue in a sample project, as this is part of a huge project with hundreds of service calls. This is the only one we've seen that shows this. It was originally reported as a bug by a developer who thought we were making three individual calls instead of one, as Fiddler showed it three times. It was only when I set tracepoints that I found that only one call was actually being made.

    Thanks for the reply. Please clarify how to use Fiddler with the default system proxy and I'll try again.

  8. Simeon
    Admin
    Simeon avatar
    234 posts

    Posted 24 Jan Link to this post

    Hi Avrohom Yisroel,

    Are there any conditions in your tracepoints? Is it possible that they do not log every time the server is hit?

    Regards,
    Simeon
    Progress Telerik
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
  9. Avrohom Yisroel
    Avrohom Yisroel avatar
    52 posts
    Member since:
    Jan 2011

    Posted 24 Jan in reply to Simeon Link to this post

    Hello,

    No, they were plain tracepoints that just dumped out the fact that the line had been hit. No conditions, no actions, nothing.

    Thanks for the reply. Any other ideas?

  10. Alexander
    Admin
    Alexander avatar
    383 posts

    Posted 06 Feb Link to this post

    Hello,

    First and foremost - please, excuse me for the delay in my answer.

    There is no special setup in order to run your application using the default system proxy. Revert the endpoint to "locahost:50000", start Fiddler and ensure "Capturing" is on. This should do the trick. Now all requests made from your WPF application should flow through Fiddler and then hit the server.

    Regards,
    Alexander
    Progress Telerik
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
Back to Top