Feature Requests

Feature, docs and use-case samples requests for ServiceStack. If you can, focus on the end-user benefit / use-case, rather than the technical details so we can focus on the end-goal and free us to work on how best to achieve it. Features can also include supporting content, e.g. a starter project on how to use ServiceStack with another product (e.g. SS + SharePoint).

I suggest you ...

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the "My feedback" filter and select "My open ideas".
(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  1. Ability to override OrmLiteCacheClient to change CacheEntry table name

    However it would be best to accomplish, it would be rad to be able to have our own Alias for the CacheEntry object inside OrmLiteCacheClient. We are sharing a database between multiple web apps, but don't want to share the same CacheEntry table.

    1 vote
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  2. 57 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  Flag idea as inappropriate…  ·  Admin →
  3. Flag MyGet builds as nightly, beta, alpah, pre-release

    If the MyGet builds are marked as pre-release then it will be easy to move between MyGet builds for the same version number and also easier to upgrade to the NuGet stable build when it is released.

    I deploy to Azure Web Sites which does the nuget package restore and full solution build for me. In order to move between MyGet builds or move to the stable NuGet build, I have to log in and manually delete the package cache on every site. If the MyGet builds had their own unque version number, upgrades would be easier.

    5 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  4. More Oauth/Oauth2 integration

    It would be very interesting to have a better integration with oauth protocols.

    Some ideas:
    1. Authentication/authorization provided directly by SS. At moment is possible to use oauth, but only with some external libraries (DotNetOpenAuth or others).

    2. The Access Token could be released with some oauth permissions defined in a global configuration setting. When the client request an access token, the request must contains a list of permission (like facebook, twitter and others API)

    3. The permissions can be used for authorize some services only if the oauth access token provided in the request is valid for it. For…

    17 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →

    We’ve improved OAuth integration in v4.5.8 where you can now Authenticate using an AccessToken in Facebook, Twitter, Github and Google Auth Providers:

    http://docs.servicestack.net/releases/v4.5.8#integrated-facebook-twitter-and-google-logins

    This feature now enables auto-Sign Ins in Mobile / Desktop Apps using a saved Access Token.

    Please submit separate feature requests for any other individual features you’d like to see.

  5. Replace System.IO.MemoryStream with Microsoft.IO.RecycableMemoryStream

    Refer to http://www.codeproject.com/Articles/873615/Announcing-Microsoft-IO-RecycableMemoryStream

    Quote:
    Microsoft.IO.RecyclableMemoryStream is a MemoryStream replacement that offers superior behavior for performance-critical systems. In particular it is optimized to do the following:

    Eliminate Large Object Heap allocations by using pooled buffers
    Avoid memory leaks by having a bounded pool size
    Avoid memory fragmentation
    Provide excellent debuggability
    Provide metrics for performance tracking

    0 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  6. Allow LoadSelect to selectively load references

    Akin to the EF "Include" method, enhance OrmLite's LoadSelect method to take an optional string array of references to load. For performance reasons, I don't always want to load all references to an object, particularly if its a central object like Account or User. As a coding efficiency measure, it'd be great to pass in a list of only the reference objects or properties that are relevant to the code snippet.

    10 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  7. Customize Auth DTO Response

    Currently if we want to customize the Auth DTO Response in Credential Auth Provider, we must to rewrite the Auth Feature,the Authentication Service and the Credential Provider.
    It would be useful to be able to set a custom auth DTO Response.

    At this time there isn't a simple solution.
    I found this post on stackoverflow that explains the problem in details:

    http://stackoverflow.com/questions/16280319/return-a-custom-auth-response-object-from-servicestack-authentication

    9 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →

    You can use the Meta string Dictionary to extend the AuthenticateResponse with additional custom info, but we’re not planning on trying to support for switching the AuthenticateResponse DTO entirely and breaking the Service Contract.

  8. Service Stack OrmLite 4.0.34 does not return result set for async version

    4.0.34 version of ormlite gives null for an async call
    for example

    // user1 is not null in this case
    var user1 = db.Single(db.From<Users>().Where(x => x.UserPartyId == userPartyId).Select());

    // user2 is null in this case
    var user2 = await db.SingleAsync(db.From<Users>().Where(x => x.UserPartyId == userPartyId).Select());

    1 vote
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  9. 48 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    8 comments  ·  Flag idea as inappropriate…  ·  Admin →
  10. Implement SQL Server 2012 Paging with OFFSET and FETCH

    Add and option to use "SQL Server 2012" features/dialect and use OFFSET and FETCH for paging.

    The new SQL Server 2012 paging feature will offer better performance and generated sql will be easier to understand.

    http://www.mssqltips.com/sqlservertip/2696/comparing-performance-for-different-sql-server-paging-methods/

    21 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  11. .UrlEncode(... bool lowerCase = true)

    Possibility to choose UPPER Casing for URL Encoding's ie %2F, as many public API using OAuth use upper cased encoding for signing.

    see http://oauth.net/core/1.0a/#signing_process

    3 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  12. Endpoint Configuration Discovery

    In WCF, I can create a udp endpoint discovery to allow client finding the service without knowing the endpoint addresses.

    Is there a similar approach using restful servicestack so that the client could discover the end point addresses using some kind of discovery detection ?

    13 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  13. add meta documentation page for response object

    Right now only request object is parsed for ApiMember attributes to generate documentation page. We've added support to parse all properties and show documentation for "subtypes".

    Is it that much more work to add documentation to parse response object in similar manner? And show documentation for it as well?

    Ideally it'd be in sections on the meta doc page.
    Request
    request types

    Response
    response types

    I can take a stab at it, but might misdesign again.

    4 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  14. AuthFeature().ServiceRoutes - Option to hide route /Auth

    Add a property to Remove the /Auth route, in favor of only /Authenticate instead.

    Currently, I've added the following to hide /Auth routes.

    // This is a way to remove the /Auth route and leave /Authorize instead. We don't need 2
    ServiceRoutes = new Dictionary<Type, string[]> {{ typeof(AuthenticateService), new[] { "/" + localize(LocalizedStrings.Authenticate), "/" + localize(LocalizedStrings.Authenticate) + "/{provider}" }}},

    Maybe there is a better way? Or is this bad?

    1 vote
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →

    Like most plugins you can configure them when registering them, you can change it to only host Authenticate Services on `/authenticate` route with:

    var authFeature = new AuthFeature(…);
    authFeature.ServiceRoutes[typeof (AuthenticateService)] = new[] {
    “/authenticate”,
    “/authenticate/{provider}”,
    };

    Plugins.Add(authFeature);

  15. Support SSL connection to Redis instances hosted as PaaS in public clouds such as Azure.

    At this time, StackExchange.Redis is the only .Net library I can find that supports SSL connections to Azure Redis. I imagine others will follow suit. It would be useful to have SSL connection available in ServiceStack as well. Thanks.

    34 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Flag idea as inappropriate…  ·  Admin →
  16. Redis implementation of MemoryServerEvents

    Just it! I would like to use the SSE feature with load balancing.

    3 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  17. Create PCL/Silverlight version of MsgPackServiceClient

    The MessagePack format seems pretty ideal for communication between a ServiceStack service and a Silverlight client. Unfortunately there is no PCL package for ServiceStack.MsgPack.

    On top of that it would be useful to split the client and server parts into separate packages.

    8 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  18. Add MQ Server support for Azure Service Bus

    Add a MQ Server for Azure Service Bus that implements ServiceStack's Messaging API: https://github.com/ServiceStack/ServiceStack/wiki/Messaging

    166 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  19. GZip/Deflate on PCL clients

    Support http compression on clients (Xamarin/sl5) with Microsoft Compression BCL library

    20 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  20. AsyncRequestFilters

    We are creating a api that uses authorization attribute request filter in all paths(except login, of course). The attribute request for authorization to another system. Because request filters are sync the request is blocked and waiting for response at this point. A solution can be that request filters can returns a Task. Something like this:

    public override Task ProcessRequestAsync(IRequest httpReq, IResponse httpRes, string operationName){


    .....


    return Task.Factory.ContinueWhenAll(appHost.ApplyAsyncRequestFilters(httpReq, httpRes, request),
    tasks => httpRes.IsClosed ? null : GetResponse(httpReq, request))
    .ContinueWith(tResponse => HandleResponse(tResponse.Result, response =>
    {
    if (appHost.ApplyResponseFilters(httpReq, httpRes, response))
    return null;

    if (responseContentType.Contains("jsv") && !string.IsNullOrEmpty(httpReq.QueryString["debug"]))
    return WriteDebugResponse(httpRes, response);

    if (doJsonp && !(response…

    1 vote
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

Feature Requests

Feedback and Knowledge Base