Why some developers hate ASP.NET? Reasons
ASP.NET is a web application framework developed by Microsoft to allow programmers to produce dynamic web sites. It allows you to use a full featured programming language such as asC# or VB.NET to build web applications easily. ASP.NET is built on the Common Language Runtime (CLR), allowing programmers to write ASP.NET code using any supported .NET language.
All processing of ASP.NET code occurs on the web server to send and receive the request of the client.
Complex Pages with Performance issues in ASP
Statefulness through ViewState, Postback, and Controls was best solutions for classic ASP, but later they turned out as show problems. Page has stored itself ViewState, so page size becomes too large and it reduces overall performance. The number of events makes very complex for application.as developers have to struggle to implement code at the right place.
Lack of abstraction with least control over HTML in ASP
Limited support for testing and SEO in ASP
Code behind and strongly coupled architecture with a number of event handlers make unit testing all most impossible. Even integration testing becomes difficult and complex task with web forms. Pointed by URLs are not very friendly for users and search engine optimization.
Undefined Application Architecture with lack of Separation of Concerns (SoC) in ASP
When a user may development of a project using ASP.NET Web Forms, there is no predefined architectural approach. Separation of Concerns (SoC) is not specified, as developers can select their requirement architecture. Many developers may choose the code-behind approach then it can create issues in the complex development life cycle, the code becomes unclear with other issues at around.
Lack of Reusability and minimal parallel Development in ASP
Code behind logic is very difficult to make code reusability as lots of problems occur if developers use same code behind logic for multiple UI and parallel development is also not possible for the particular section, because applications are tightly coupled.
Interpreted and Loosely-Typed Code in ASP
Mixes layout (HTML) and logic (scripting code) in ASP
ASP files frequently combine script code with HTML. This results in ASP scripts that are lengthy, difficult to read, and switch frequently between code and HTML. The interspersion of HTML with ASP code is particularly a problem for larger web applications, where content must be kept separate from business logic.
Limited Development and Debugging Tools in ASP
Microsoft Visual InterDev and other tools have attempted to increase the productivity of ASP programmers by providing graphical development environments. However, these tools never achieved the ease of use by Microsoft Windows application development tools, such as Microsoft Access. ASP developers provide rely heavily on Notepad. Debugging is an unavoidable part of any software development process, and the debugging tools for ASP have been minimal.
Update files only when the server is down in ASP
If your Web application makes use of components, copying new files to your application should only be done when the Web server is stopped. Otherwise, it is like pulling the rug from under your application’s
ASP.NET is expensive as compared to open source web service, as you have expenses like SQL Server licenses, Windows server licenses, etc. This makes the hosting providers charge extra for their services as well. Otherwise, the upkeep of the framework is very expensive.