ASP.NET is a new rendition of the ActiveServerPages
(ASP) technology for the MicrosoftDotNet
It is mostly backwards compatible with ASP. However, it has several new features that really make it a different technology:
- ASP.NET applications are compiled rather than interpreted; you can author applications in any .NET compatible language, including Visual Basic .NET, CsharpLanguage, and JscriptDotNet.
- Direct access to the capabilities of the class libraries of the .NET Framework, including ADO.NET, file I/O, image manipulation, ...
- It is easier to write well-structured applications using "real object-oriented techniques". (No more need to use the kinds of hacks described in OoAspPractices.)
- Support for building and using WebServices.
- Support for session management.
- Enhanced diagnostics, tracing, and debugging facilities.
See also WebForms
News and Developments
Whidbey is the codename for Version 2 of AspDotNet
due for mid 2005. Resources include:
I think AspDotNet (and JSP/Servlets) implement TemplateView in reverse - HTML ends up as string objects inside the compiled page. This is really the most important change from classic ASP as far as developers are concerned - it's like the relationship between program code and UI has been reversed. The eternal struggle...
That's one way to look at it, but another way is to consider the conversion of the .aspx page into a compiled assembly to just be a run-time optimization. To the developer, it still seems like TemplateView
(until something goes wrong and the developer has to look at the generated code to figure out what).
contains a lot of support for creating ASP.NET applications, including a visual designer, debugging tools, etc.
But how do you test it? NunitAsp
is interesting, but that's really for CustomerTest
s. What I'd love to do is fake out a request and then assert some things about the Page object (or objects within it). In other words, I'd like to write ProgrammerTests
without tearing my hair out. With Java Servlets, I can do this just fine - simply create a fake H
ttpServletRequest and you're off to the races. In .NET, the world appears to be either sealed or really complicated if you want to use objects in a code behind. Thoughts?
Can you be more specific about what you do to test a "fake HttpServletRequest" that you can't do with ASP.NET?
NunitAsp is not actually for CustomerTests. It's for ProgrammerTests. The fact that it's client/server is an unfortunate result of intertia, laziness, and incomprehension on the part of the maintainer. --JimLittle (NUnitAsp maintainer)
I'm fairly impressed with Selenium to test ASP. It's free and powerful and easy to use (but not so easy to setup if you work with multiple sites/domains)
- Selenium is incredibly flaky and buggy with Ajax, I would heartily NOT recommend it if you use AJAX. Otherwise it is great.
See also WebMatrix
, a free community-supported tool that perform much of the functionalities of an AspDotNet