The latest Contrib projects have now been merged into the main ServiceStack repo.
Although ServiceStack is an opinionated web service framework (i.e. includes most components required to make high-performance web services), each feature is built around pure/clean, dependency-free C# interfaces enabling the use of alternate, pluggable, xml/config-free and testable C# components.
By default ServiceStack includes high-performance replacements for ASP.NET's Session, Caching, Logging, Authentication, Membership and Configuration providers yielding config-free, testable and mockable alternatives that can be hosted in or outside of an ASP.NET web h 82D9 ost.
Whilst any providers contributed by the community that require any external dependencies are kept here (with links to their NuGet packages):
ServiceStack's built-in Authentication and Authorization plugin provides an extensible and pluggable model supporting multiple caching providers (for fast pre-request session access) as well as multiple datastore providers for long-term persistance of User Registration and Authentication information.
Caching Providers (ICacheClient)
- In Memory:
MemoryCacheClient
in ServiceStack - Redis:
RedisClient
,PooledRedisClientManager
andBasicRedisClientManager
in ServiceStack.Redis - Memcached:
MemcachedClientCache
in ServiceStack.Caching.Memcached - Azure:
AzureCacheClient
in ServiceStack.Caching.Azure - created by Manuel Nelson - Amazon:
DynamoDbCacheClient
in ServiceStack.CacheAccess.AwsDynamoDb - created by Mike Pugh
User Auth Repositories (IUserAuthRepository)
- OrmLite:
OrmLiteAuthRepository
in ServiceStack - Redis:
RedisAuthRepository
in ServiceStack - In Memory:
InMemoryAuthRepository
in ServiceStack - Mongo DB:
MongoDBAuthRepository
in ServiceStack.Authentication.MongoDB - created by Assaf Raman - NHibernate:
NHibernateUserAuthRepository
in ServiceStack.Authentication.NHibernate - created by Joshua Lewis
As the original compression libraries in .NET 2.0 (they're better now) were both slow and yielded in-efficiently large results, we've enabled adapters to plug-in alternative compression libraries. The ServiceStack.Compression project provides GZip and Deflate compression adapters for the excellent ICSharpCode libraries which you can enable ServiceStack to use with:
StreamExtensions.DeflateProvider = new ICSharpDeflateProvider();
StreamExtensions.GZipProvider = new ICSharpGZipProvider();