Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Often one of the biggest problem areas for me when developing software (win and web) is some of the more (seemingly) abstract areas like tcp/ip, deploying to IIS and the various configurations, etc. This especially pops up when I am deploying a web app to IIS.

What should I know about this so that I can troubleshoot problems, and develop services and apps that leverage an actual understanding of these areas?

Also, WHERE can I learn this??

share|improve this question
tcp/ip is not really an "abstract" area. The definitive reference is usually… volumes 1 and 2. – Pemdas Apr 16 '11 at 3:57
@Pemdas: Thanks. It's somewhat abstract when most of development has it abstracted away by the BCL. – Richard DesLonde Apr 16 '11 at 4:01
To be only slightly pedantic, TCP/IP is the opposite of abstract in this context. Everything else (from HTTP onwards) are abstractions on top of TCP/IP. – Rein Henrichs Apr 16 '11 at 7:00
@Rein: LOL True. In that sense. I meant more like it's abstract to me because it has been "abstracted away" from me. – Richard DesLonde Apr 16 '11 at 7:05
Ah, so by "abstract" you mean "the opposite of abstract". Got it. Makes perfect sense. ;) – Rein Henrichs Apr 16 '11 at 7:07
up vote 1 down vote accepted

Learning TCP to write web apps is digging pretty deep. It is one of those "good to know" things that you refer to once a decade. What is more important is an understanding of how http works, in particular GET and POST.

IIS on the other hand is a much larger topic. At the minimum, you will need to understand IIS web sites, bindings and application pools. Where to look for that information depends largely on which version of IIS you are talking about. 5.0, 6.0, 7.0 or 7.5. Each is a bit different but the biggest change is between 6.0 and 7.0.

After IIS comes Asp.Net, which ties very closely into IIS and has the ability to change many IIS behaviors right from the web.config.

As to troubleshooting, the two obvious places are the windows Event Logs and the IIS logs. If you are talking about troubleshooting Asp.Net, then you can also enable detailed error messages by turning off the friendly error messages

<customErrors mode="Off"/>
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.