Common Challenges of .NET Application Development
Join the DZone community and get the full member experience.Join For Free
There are plenty of pitfalls and issues that software developers encounter on a daily basis. However, this article will focus on the challenges faced during ASP.NET application development. .NET Development can be very rewarding if developers know the .NET framework well, but it can become overwhelming quickly if the developers have not received proper training or do not have enough experience with it.
Common Challenges of Developing an ASP .NET Application
If your web.config file is left untouched, you will have the default “Event Log” items logged. While it is crucial that you are able to view errors that users have encountered, .NET applications have a reputation for logging literally everything that occurs, from every “200” HTTP response to exact load time for small components. If this is left unchecked, your ASP.NET application development endeavors can be foiled due to slow load times.
Another notorious component of ASP.NET development is “application hanging“. This means that your IIS website either takes a very long time to load or simply returns a “500” series HTTP error to users attempting to access it. .NET Application Development must be done in a manner that avoids both “soft hangs” and “hard hangs”.
“Soft hangs” are less serious than “hard hangs” and usually happen when there is bad code in certain parts of the website that are not in the core of it, either making loading parts of certain pages impossible or loading some entire pages impossible. Even if Visual Studio or your preferred IDE does not show any compile or run-time errors, it is very important to follow traditional Code Review and peer testing methods.
“Hard hangs” are very serious. This means that your application completely stops working due to bad code. This can be caused by something as little as forgetting a single bracket in a tokenized value. Again, you must ensure proper testing and code review are occurring to avoid this type of issue.
Another common issue that .NET developers run into is “server overload”. The IIS suite comes with a swath of tools, including the “IIS Server”. This can make hosting an ASP.NET application easy, but without load balancing, most servers will eventually become overwhelmed as the user base increases. While resource overutilization can play into this, there may be other factors, as well.
Almost any issue with the IIS server can cause this. Even simply using an SSL certificate that was either placed on the CRL or expired can be enough to cause this issue. Application Pool and caching issues also play a role in this, making it crucial for developers to actively test in both the coding realm and the “application layer” realm before putting any ASP.NET application out for production.
While the .NET application development processes allows developers to choose their database technologies, developers will often go with the DBMS that “fits” the best with ASP .NET: Microsoft’s “SQL Server”. Database issues are a common challenge during the development process. If a page technically works but is performing slowly, chances are that it is a database issue. Before pointing fingers at developers, you should check with the DBA and monitor how long common database calls take.
For example, using a huge database and complex operations on it can easily add seconds (or, in unfortunate cases, minutes) to the loading of an ASP.NET page. Database configuration issues can also play a part in this. Depending on how your app development team is divvied up, the developers may or may not have control over how database calls and the database schema work.
.NET Development has a great toolchain and is commonly used by developers. However, knowing what to troubleshoot and how to troubleshoot is a must in the ASP .NET world. Without having some experts on your team, you may find yourself quickly overwhelmed with the challenges that come with it.
Published at DZone with permission of Varsha Gupta. See the original article here.
Opinions expressed by DZone contributors are their own.