Demis Bellot edited this page Oct 25, 2016 · 17 revisions

  1. Getting Started

    1. Creating your first project
    2. Create Service from scratch
    3. Your first webservice explained
    4. Example Projects Overview
    5. Learning Resources
  2. Designing APIs

    1. ServiceStack API Design
    2. Designing a REST-ful service with ServiceStack
    3. Simple Customer REST Example
    4. How to design a Message-Based API
    5. Software complexity and role of DTOs
  3. Reference

    1. Order of Operations
    2. The IoC container
    3. Configuration and AppSettings
    4. Metadata page
    5. Rest, SOAP & default endpoints
    6. SOAP support
    7. Routing
    8. Service return types
    9. Customize HTTP Responses
    10. Customize JSON Responses
    11. Plugins
    12. Validation
    13. Error Handling
    14. Security
    15. Debugging
    16. JavaScript Client Library (ss-utils.js)
  4. Clients

    1. Overview
    2. C#/.NET client
      1. .NET Core Clients
    3. Add ServiceStack Reference
      1. C# Add Reference
      2. F# Add Reference
      3. VB.NET Add Reference
      4. Swift Add Reference
      5. Java Add Reference
    4. Silverlight client
    5. JavaScript client
      1. Add TypeScript Reference
    6. Dart Client
    7. MQ Clients
  5. Formats

    1. Overview
    2. JSON/JSV and XML
    3. HTML5 Report Format
    4. CSV Format
    5. MessagePack Format
    6. ProtoBuf Format
  6. View Engines 4. Razor & Markdown Razor

    1. Markdown Razor
  7. Hosts

    1. IIS
    2. Self-hosting
    3. Messaging
    4. Mono
  8. Security

    1. Authentication
    2. Sessions
    3. Restricting Services
    4. Encrypted Messaging
  9. Advanced

    1. Configuration options
    2. Access HTTP specific features in services
    3. Logging
    4. Serialization/deserialization
    5. Request/response filters
    6. Filter attributes
    7. Concurrency Model
    8. Built-in profiling
    9. Form Hijacking Prevention
    10. Auto-Mapping
    11. HTTP Utils
    12. Dump Utils
    13. Virtual File System
    14. Config API
    15. Physical Project Structure
    16. Modularizing Services
    17. MVC Integration
    18. ServiceStack Integration
    19. Embedded Native Desktop Apps
    20. Auto Batched Requests
    21. Versioning
    22. Multitenancy
  10. Caching

  11. Caching Providers

  12. HTTP Caching

  13. CacheResponse Attribute

  14. Cache Aware Clients

  15. Auto Query

  16. Overview

  17. Why Not OData

  18. AutoQuery RDBMS

  19. AutoQuery Data

  20. AutoQuery Memory

  21. AutoQuery Service

  22. AutoQuery DynamoDB

  23. Server Events

    1. Overview
    2. JavaScript Client
    3. C# Server Events Client
    4. Redis Server Events
  24. Service Gateway

    1. Overview
    2. Service Discovery
  25. Encrypted Messaging

    1. Overview
    2. Encrypted Client
  26. Plugins

    1. Auto Query
    2. Server Sent Events
    3. Swagger API
    4. Postman
    5. Request logger
    6. Sitemaps
    7. Cancellable Requests
    8. CorsFeature
  27. Tests

    1. Testing
    2. HowTo write unit/integration tests
  28. ServiceStackVS

    1. Install ServiceStackVS
    2. Add ServiceStack Reference
    3. TypeScript React Template
    4. React, Redux Chat App
    5. AngularJS App Template
    6. React Desktop Apps
  29. Other Languages

    1. FSharp
      1. Add ServiceStack Reference
    2. VB.NET
      1. Add ServiceStack Reference
    3. Swift
    4. Swift Add Reference
    5. Java
      1. Add ServiceStack Reference
      2. Android Studio & IntelliJ
      3. Eclipse
  30. Amazon Web Services

  31. ServiceStack.Aws

  32. PocoDynamo

  33. AWS Live Demos

  34. Getting Started with AWS

  35. Deployment

    1. Deploy Multiple Sites to single AWS Instance
      1. Simple Deployments to AWS with WebDeploy
    2. Advanced Deployments with OctopusDeploy
  36. Install 3rd Party Products

    1. Redis on Windows
    2. RabbitMQ on Windows
  37. Use Cases

    1. Single Page Apps
    2. HTML, CSS and JS Minifiers
    3. Azure
    4. Connecting to Azure Redis via SSL
    5. Logging
    6. Bundling and Minification
    7. NHibernate
  38. Performance

    1. Real world performance
  39. Other Products

    1. ServiceStack.Redis
    2. ServiceStack.OrmLite
    3. ServiceStack.Text
  40. Future

    1. Roadmap
Clone this wiki locally

This page has moved to

Big thanks to our 300+ .NET Open Source Contributors!

These last few weeks have been the most eventful in ServiceStack's history where we've delivered considerable enhancements to the framework that includes our compelling new HTML Story followed shortly after by our new API Design which promotes an even more flexible and enjoyable server and client apis that we we're happy to see was well received by the Hacker Community.

Our most important milestone yet!

During this time we quietly surpassed another important milestone for the project where we've now ammassed contributions from more than 100+ different contributors to the ServiceStack projects. The total at this time stands over 300 putting ServiceStack in rarified air as one of the top active and contributed to Open Source .NET projects!

Helping .NET Open Source

Many of our contributors were new to GitHub and OSS in general so we're ecstatic we've been able to help expand the .NET Open Source community and we'd like to pay special thanks here as without our contributors we'd be more ServiceStick than ServiceStack :)

Standout contributions

There have been too many valuable contributions, enhancements and fixes to list them all here, but we wanted to say special thanks to some of the highlights we've received over the years:

  • Steffen Müller - Core Team member leading the development of the async branch, internal dev and our documentation efforts
  • Sergey Bogdanov - Core Team member leading our Windows / Mono CI release builds, packaging, deployments + code maintenance efforts
  • Thomas Grassauer - OrmLite Core member: MySql owner, Memcached Cache Provider
  • Angel Colmenares - OrmLite Core member: Firebird owner, Expression Visitor Support in OrmLite
  • Tomasz Kubacki - OrmLite Core member: PostgreSQL owner
  • Guru Kathiresan - OrmLite Core member: Oracle owner and T4 POCO code-generator from existing DB schema for OrmLite
  • Joachim Rosskopf - ServiceStack's Virtual File System, Glob search support
  • Ivan Korneliuk - Inspiration for the new API and implementation of auto-generation of REST-ful routes
  • John Carruthers - RCON Messaging Service Provider
  • Jon Canning - File Upload support, Android support and Integration Template Test project
  • Dan Barua - Auto-register of conventional REST-ful routes, Redis Hash APIs, redis client password management
  • Assaf Raman - MongoDB Auth Provider, managed response pipeline
  • Iain Ballard - Dynamic Proxy, IDictionary support to text serializers
  • Andrew - Polymorphic types, Dictionary object, Custom Serialization and hooks to text serializers
  • Ethan Brown - ServiceStack's Logging NuGet packaging and deployments
  • Daniel Wertheim - Date handling and support for anonymous types in text serailizers
  • Matt Johnson - Maintaining Silverlight 4 & 5 support, Date Handling in text serializers
  • Derek Beattie - Maintaining Silverlight 4 & 5 support
  • Bo Kingo Damgaard - Support for Digest Authentication
  • Daniel Crenna - Dynamic Expando Json API, JSON property convention support in text serializers
  • Brad Culberson - Redis connection pool and internal byte buffer management enhancements
  • Nitin Kumar - Support for consistent hashing in Redis
  • Steve Dunn - Support for XBox
  • Kvervo - Windows Phone support
  • Joshua Lewis - NHibernate Auth Provider
  • Manual Nelson - Azure Cache Provider
  • Louis Haußknecht - Bit operations in redis
  • Paul Duran - Blocking Pops on multiple lists in Redis
  • Pieter Van Parys - Multi dimensional array support in text serializers
  • Shawn Neal - Embeddeding of external resources
  • Damian Hickey - VS.NET 2012 and OWIN support

They've been so many contributions that many of the features listed above are still yet to be documented - something we hope to rectify soon. No doubt there are many more valuable contributions we've missed, but so we don't forget, we're maintaining a live list of contributors on the GitHub Project's Home Page.

Why Contributors are important

Maintaining a healthy contributor base is vital for the project as it provides us with a constant instant feedback loop telling us what the most popular use-cases are and what real-world features are important. It's imperative when developing a framework that features are driven and shaped by real-world use-cases as every added feature has a complexity cost (both in implementation and understanding) so we've found it best to optimize and provide elegant out-of-the-box solutions for common real-world problems first whilst also providing access to the underlying raw and un-restrictive API so our users are never prohibited in achieving their goals.

Starting from ideal C# and projecting out

A healthy contributor base is especially important for ServiceStack as our Message-based Design lets you implement your service with minimal C# that's unaffected by endpoint concerns. At this level where we start from ideal C# and project out your service is in it's most re-usable form, and it's up to our active users and contributor base to determine which contexts are the most important to add support for first to host your services logic in.

The feedback we've received has led us to implement the most popular use-cases, increasing the re-usability and accessibility of your services - where it's now possible to host the same existing implementation on the number of different Host configurations, endpoints and formats below:


  • ASP.NET (.NET / Mono)
  • HttpListener / Console App / Windows Service / Linux Daemon (.NET / Mono)
  • MQ Host

Web Services

Message Queue Services

There are more useful endpoints and hosts in the pipeline: expanded MQ options, integration with non-.NET platforms are key areas where ServiceStack can add a lot of value and as it's the most cost-effective deployment option to deploy .NET services we're also looking to further simplify and provide more automation and git-deployment options of ServiceStack services in Linux Cloud hosting environments.

Where new contributors can add the most value

We're always looking for new Contributors and there's still a plenty of room to fill: more tutorials, posts and example projects to add to the Community Resources are always welcomed, as well as expanding the community wiki documentation with real-world tips and solutions to common use-cases.

Possible Development enhancements

Code-wise more Formats/Endpoints, MQ Hosts, Caching and Authentication Providers will provide instant utility to all our users, expanding the supported environments and configurations where ServiceStack services can be hosted in.