S#arp Architecture is a solid architectural foundation for rapidly building maintainable web applications leveraging the ASP.NET MVC framework with NHibernate and aspx views. S#arp Architecture Contrib adds additional support for alternative approaches and extends S#arp Architecture so that it can work well outside the ASP.NET environment. The following features are planned for the first release:
- Support for WCF Applications(to be moved from S#arp Architecture)
- Support and Guidance for Using S#arp Architecture in Windows GUI and Windows Service Applications
- Logging Controlled by an Attribute(PostSharp version available. Castle Interceptor version in the works.)
- NHibernate Transaction and Session Management Attributes for Windows Applications and Services (PostSharp version available. Castle Interceptor version in the works.)
- Transactions Optionally Participate in System.Transaction Transactions (i.e. transactions wrapped in a TransactionScope)
- CRUD Generators for Spark Views (not available in first beta but currently in the works)
- Support and Guidance for Using Rhino Security in S#arp Architecture Applications (not available in first beta)
We are currently looking for developers to contribute to the effort. If you are interested in one of the items above or have ideas of your own, let us know.
EditSource Code and Binaries
Edit Latest News
S#arp Architecture Contrib 0.2.0 has just been released for comments. This early beta release adds Castle-interceptor based version of the Log, ExceptionHandler, Transaction and UnitOfWork attributes. See
my blog post on this release for information.
EditDocumentation
Some S#arp Architecture Contrib facilities makes extensive use of an AOP facility to inject common code that is needed in many methods (e.g. transaction support) or in the majority of the application (e.g. logging). If you are unfamiliar with Aspect-Oriented Programming (AOP), you should review the article
AOP on .NET. Note that the facilities that require PostSharp are separated into the SharpArchContrib.PostSharp assembly. Support for other .NET AOP options may be added in the future.