My .NET 2.0 webservice call only works when Fiddler is running

Posted on 2010-11-19
Last Modified: 2013-12-17

I have a webservice which I deployed to one of servers.  The first 2 calls work as they don't bring any data back the next 2 fail on some machines all the time on others randomly UNLESS Fiddler is running !!!  The error I am getting is in my other question.  I tried using Fiddler to troubleshoot the error but it seems that Fiddler being the the proxy now everything works.

Any advice/help is appreciated

Question by:gbzhhu
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
LVL 12

Author Comment

ID: 34171118
And no, I can't ask all our clients to install and run fiddler :-).  BTW the call to the web service is coming from a Winforms client
LVL 21

Accepted Solution

Alfred1 earned 500 total points
ID: 34187437
I believe I experienced your issue when I was still working on WSE 3.0 four years ago.  I encountered cases when it works fine and then it errors out intermittently.  I get different types of error including this (An existing connection was forcibly closed by the remote host).

What I found out is that when you reach 1 GB memory in your w3wp.exe (IIS worker process) related to the web service, it crashes out.  This happens when memory leaks occur in the process.  And what I found out that causes this memory leaks is due to "unhandled errors" in the web methods.  This unhandled error also cause the server web method to return an incomplete XML before.

I believe the reason why it is working when Fiddler is running because the errors are handled and there are no memory leaks occurring.

What you need to do is make sure to handle all errors and not let an exception generate in the application event in order to prevent memory leaks.  Also, make sure to promptly dispose objects after use.  Check this link below for some additional tips.

I hope this helps.
LVL 21

Expert Comment

ID: 34187676
Your question --------->  1.  Running Fiddler on client (That is where I run it), how can that affect the server?

I am not sure how fiddler but I can only assume based on your information.  Fiddler might somehow internally handles the errors as it displays the necessary information during web debugging and that is why I inferred that there is no memory leak.
Simplifying Server Workload Migrations

This use case outlines the migration challenges that organizations face and how the Acronis AnyData Engine supports physical-to-physical (P2P), physical-to-virtual (P2V), virtual to physical (V2P), and cross-virtual (V2V) migration scenarios to address these challenges.

LVL 12

Author Comment

ID: 34225172

I am not still convinced that a memory leak is involved here.  This is my reasoning

1.  Nobody runs the app for awhile and I stop and restart my web service in IIS.  

2. I run the app on one of my colleague's machines.  The first two methods succeed as they only fetch single strings (very small data) the next call to get the larger data fails if user has large data if not it passes.  

3. Perform the same steps in 2 above with Filddler running and everything works regardless of size of data

4. The same steps in 2 above are performed on my PC (not running on the IDE bur running the installed app) and everything works, large data or not, Fiddler running or not running!!  This is the strange one

I still will not dismiss your suspiscion because this is programming and sometimes what seems impossible just happens.

I am going to move the web service to another server but am short of time at this moment.  I have not abandoned the question!  Must not take more than a couple of days

Thanks for your assisnatce.  Really appreciated
LVL 21

Expert Comment

ID: 34225855
Just came to my mind while reading your latest post, have you tried using the Web Method attribute, BufferResponse property?  You can try setting the BufferResponse property to false since you are dealing with large data.  Check the example in the link below for details on how to use BufferResponse property when it is set to false:

LVL 12

Author Comment

ID: 34225865
Yeah will try that tomorrow when I can access my colleague's PC's

Cheers mate

Featured Post

Report: Liquid Web beats Amazon, Rackspace & More

A study by performance analyst firm Cloud Spectator finds that Liquid Web beats rivals Amazon, Rackspace and DigitalOcean when it comes to website and cloud application performance.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Create a Dropdown list with sub group 10 43
PHP Web Development 6 68
Presenting my portfolio on the web? 11 52
Selenium cssSelector and attribute 5 11
Today, the web development industry is booming, and many people consider it to be their vocation. The question you may be asking yourself is – how do I become a web developer?
CTAs encourage people to do something specific to show interest in your company, product or service. Keep reading to learn why CTAs should always be thought of as extremely important, albeit small, sections of websites.
This video teaches users how to migrate an existing Wordpress website to a new domain.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question