5 Weeks of ASP.NET Weekly Tools and Libraries - Part 2
I publish a weekly newsletter for ASP.NET Developers called ASP.NET Weekly which contains a curated list of the best ASP.NET related content I came across during the previous week.
Each week I feature a tool or library which I think ASP.NET developers will find useful. This is the second part in a 5 part series of blog posts during which I recap all the tools and libraries I featured during the past year.
I re-publish these with the exact descriptions I used in the newsletter, so see my commentary in that context…
11. Chameleon Forms
Chameleon Forms is a library which aims to make building forms in ASP.NET MVC a much more powerful and easier experience. It allows you to build forms in a declarative way and get rid of a lot of the boilerplate HTML code you normally have to add when creating forms, and comes with support for Bootstrap 3 built it. Credit to Scott Hanselman for pointing out this one.
This week’s “cool library” is actually a website. ASafaWeb is an Automated Security Analyser for ASP.NET Websites which makes scanning for common configuration vulnerabilities in live ASP.NET websites dead easy. It is developed by Troy Hunt, Microsoft MVP for Developer Security - so you know it will be good! Protect your website and run it through ASafaWeb’s analyzer before launching, and at regular intervals afterwards. It even includes a scheduling facility so you can run daily or weekly security checks automatically.
MiniProfiler is a very simple and easy to use profiler for your ASP.NET applications. It profiles the rendering of your web pages so you can easily pinpoint which areas of your code causes the web pages to load slowly. It also integrates with Entity Framework to profile the database command generated by Entity Framework in your application, and even goes so far as to highlight trouble spots such as (N+1) and duplicate queries. It is not quite as fully featured as Glimpse (which I featured in a previous newsletter), but it certainly gets to job done and is a great alternative.
Postal is a library for ASP.NET which allows you to send emails. Aaah, surely you can use SmtpClient for that I hear you say? Yes you can, but what makes Postal special is that it uses the ASP.NET MVC view engine infrastructure to render you emails, allowing you to declare your email using a normal Razor view. At runtime Postal will automatically render the view, do the proper model binding if appropriate, and send out the email. There is much more to Postal such as support for unit testing, attachments, custom email headers and more. Check it out at http://aboutcode.net/postal/.
I try not to promote any of my own blog posts in the newsletter, but this is something I have been working on which I am very proud of and I am sure will be of benefit to you. OAuth for ASP.NET is a reference website which shows you how to configure your ASP.NET application so it can authenticate users using one of the many OAuth providers available.
It shows you code snippets of how to configure the various providers, as well as links to relevant documentation and SDKs for each service. In the case of the most popular services it also contains step-by-step guides which shows you in detail how the configure the particular service.
ASP.NET Web API rockstar Filip W. has published a handy set of add ons and extensions for ASP.NET Web API. A few highlights are the ability to inject dependencies directly into controller actions, having controllers without the required “Controller” suffix, per controller configuration and API versioning helpers. There are loads more over and above these ones, so have a look at it because the chances are that there is something in there which is going to save you a lot of time.
Humanizer is a library for .NET which allows you to display all manner of data in a “human friendly” fashion. The list of what it can do is way too long for this email, but here are a few highlights:
- Convert time to a more friendly “in 7 days from now”, or “5 seconds ago”
- Pluralize or singularize strings
- Convert strings to PascalCase, camelCase, Title Case, etc
- Convert numbers to words
Seriously, check it out. Thanks to reader Wouter Dingemanse for sending in this one :)
Formo allows you to access the settings in your application configuration file through a rich, dynamic object. It has support for custom configuration sections, connection strings, and default values. Looks like a real time saver to me.
Dapper is a lightweight object mapper for .NET applications. If you like the ease of working with objects in Entity Framework, but you feel that Entity Framework is perhaps a little too bloated, then this is a handy library to check out. It consists of a single file which add extensions methods to the IDbConnection interface that will map the result of database queries to C# objects.
It was developed by the guys at Stackoverflow and is used in production on the Stackoverflow website.
IdentityManager is a tool for developers and/or administrators to manage the identity information for users of their applications. This includes creating users, editing user information (passwords, email, claims, etc.) and deleting users. It provides a modern replacement for the ASP.NET WebSite Administration tool that used to be built into Visual Studio.
For a very good introduction to IdentityManager you can watch this video by Brock Allen.
PS: If you need assistance on any of your ASP.NET Core projects, I am available for hire for freelance work.