HoytSoft has released (for free) its suite for web and Windows applications. It provides everything you'll need for enterprise web applications. Designing complex websites with all the whizbang features users have come to expect can be cumbersome and tedious. The provided libraries allow you to forget these details and concentrate on the real needs of your web app. It's a great starter for anyone - the flexibility of the libraries allow you to employ whatever degree of complexity you need for your application. We've used it in small intranet applications up to large web apps with localization, e-commerce, e-mail, and templating needs.
Designing a library that will satisfy both small scale and large scale applications can be difficult. This suite is compatible with most scenarios from a simple app running on a single server to a distributed web app with load balancing, SANs, etc. Making it extensible was also a challenge - the idea was to make it incredibly easy to use (most functions are 1-2 liners), easy to configure (you can choose to centralize or decentralize your configuration), yet able to cope with anything additional a web app developer might need. This is the culmination of several years of independent work and experience. We hope it will make your job easier - to get a better product out the door with more features, configurability, and extensibility than ever before.
- Windows service library for incredibly easy development and installation of standard Windows services. (see http://www.hoytsoft.org/serviceBase.aspx)
- Windows UAC (User Account Control) library for easily creating and running tasks that must run with elevated privileges. It's already integrated with the service library for installs, uninstalls, etc.
- Configuration library that allows you to customize almost anything in the system. It provides much greater control and easier access than the .NET framework configuration library + you can define a default configuration and then override sections on a per-machine basis. This means you don't have to mess with tracking a different configuration for every developer!
- Payment gateway library for processing credit card or ECH (Electronic Clearing House aka "e-check") transactions. Built using provider model. Am still looking for an authorize.net implementation. If you have that, please e-mail me. (see http://www.hoytsoft.org/linkPointAPI.aspx)
- Web library with additional configuration options.
- Easy access to connection strings on a per-machine basis.
- Provide automatic routing between secure (HTTPS) and unsecure (HTTP) connections.
- Add listeners to application events on a per-machine basis (equivalent to HTTP modules).
- Easily add forms authentication or any type of authentication you choose. Authentication points make it easy to customize authentication at any level you choose.
- Development-only "virtual directories" for file-based resources. Mimic production server setups with the Visual Studio Webdev server.
- URL rewriting using regular expressions. Add any kind of rule you wish, though.
- Localization options defined in external XML files yet programatically accessible. Use explicitly defined languages or use the browser-defined languages (in order of client-specified preference) or the server default language.
- Send out templated e-mail in one line of code! But not only templated, also automatically localized as well. Define as many as you need in as many languages as you need.
- Use advanced encryption/hmac algorithms in one line of code.
- Custom error pages, including 404 management.
This library is open source and distributed to the public for free. Any suggestions and fixes are welcome. Let's make this the best ASP.NET web application library available!
Using the code
The solutions and projects target VS 2008, but everything should be compatible with the .NET framework 2.0 and above. You'll have to create your own VS 2005 projects, though.
Check out the examples that are bundled with each library in the suite to discover how to use them. Thank you and best of luck!
Points of Interest
- Check out the advanced website example in the website library and then compare it to the simple website example. You'll notice the difference in complexity and how the library works with both.
- Look at the simple service example to see how easy it is to implement a Windows service with UAC. Notice how no Windows installer project is needed! You can test, run, and debug your service completely inside of Visual Studio.