tags:

views:

608

answers:

1

I've built a ASP.NET webforms site for a customer, and lately the customer has been experiencing a lot of "Not implemented" error messages, while using the site.

Apparantly "Not implemented" is english for HTTP 501 error code, as explained here: http://www.checkupdown.com/status/E501.html

The browser used is Internet Explorer 7 with no add-ons, and so far, the problem only exists in this browser.

I log all ASP.NET application errors, and neither this application error log, nor the servers event log, nor the servers IIS http error log, shows any HTTP 501 error. Thus, I reasoned that it could only be a client-side thing, and I had the customer install Firefox along with a logging tool, so I could see all header traffic... to no avail, still no HTTP 501 errors.

I have not been able to reproduce the issue myself.
Only the customer experiences the error (as proved by screenshots from his machine), and only from his own internet connection.

The error occurs almost at random - it only happens on ASP.NET postbacks, but all kinds of actions trigger it: buttons, dropdownlists, sorting a list, etc. ... but only now and then, not every time.

I have no clue ... I've built quite a few websites in my time, but haven't seen this error before.

If you have any idea or feedback, I would appreciate it greatly. Thanks :)

A: 

It can't be on client side if status code is 501. You probably forgot in your code NotImplementedException which is generated with methods when you automatically implementing interface to your class in Visual Studio.

Jan Remunda
If this were the case, I think that I should be able to see this error as a log entry in my applications error log (a database table) ... and that I should be able to reproduce the error by mimicking the users actions (which I can't).Thank you for your feedback, however! I agree with your conclusion that I can't be a client side error, since it's a 501... but I can't explain why I cannot reproduce nor log the error, then.It seems to me that some of the variables in the equation are either missing or wrong, but I just can't figure which :/
Sebastian
Exceptions you can catch e.g. in global.asax Application_Error event, but if is called method HttpContext.Current.ClearError() (e.g. in some HttpModule), you don't have to be able to catch the exception. It is also possible, that your page is send correctly but with http status 501. In some cases IE shows own error page and content from server ignores if the http-status is not 200. I think it is affected by size of response content.
Jan Remunda
It is 512 bytes. "When server returns a non HTTP-200 status code with less than 512 bytes of content, IE will not show the returned HTML and instead substitutes its own generic status code message" You can add some commented code like this: http://weblogs.asp.net/scottgu/archive/2006/04/09/App_5F00_Offline.htm-and-working-around-the-_2200_IE-Friendly-Errors_2200_-feature.aspx
Jan Remunda