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).

  1. Deeper SignalR Integration

    I'd like to see a deeper integration between ServiceStack and SignalR. Here are a few ideas that I've so far ran into...

    1. A Hub Authorization Attribute which implements IAuthorizeHubConnection and/or IAuthorizeHubMethodInvocation.

    2. Some sort of JsonServiceClient integration with HubConnections. Maybe automatically associating Cookies with a new HubConnection. Plus exception handling wrappers (i.e. Like an Unauthorized exception is thrown within a SignalR exception).

    3. Centralized documentation outlining what needs to be changed in the web.config for SignalR to co-exist with ServiceStack. Also why the UseBufferedStream property should be enabled for SignalR.

    4. This might require a separate feature request but…

    142 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    12 comments  ·  Flag idea as inappropriate…  ·  Admin →

    The way ServiceStack and SignalR will be able to integrate in future will be through .NET Core’s IApplicationBuilder pipeline which by design supports running multiple frameworks within the same App that can now share the same default route namespace.

    From the v4.5.2, ServiceStack now supports running on .NET Core, please see the guide in the full release notes which shows how to register ServiceStack’s AppHost in .NET Core: http://docs.servicestack.net/releases/v4.5.2.html

    SignalR for .NET Core has yet to be released but it’s expected you’ll be able to access SignalR via its dependencies registered in .NET Core’s Startup which will also be injected in your Services like normal IOC dependencies.

    We’ll update this feature request again with an example showing a demo of ServiceStack + SignalR together in the same App once SignalR is available on .NET Core in 2017.

  2. Provide Async Support For Redis Client

    Currently redis client is not async - this is wasting valuable resources on the server side. As far as I understand async support is currently only there for service clients and not redis

    121 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  Flag idea as inappropriate…  ·  Admin →
  3. Support PostgreSQL array parameters

    Currently to send in an integer array as a parameter, I have to use format.

    var ids = "ARRAY[1,2,3]";
    var sql = "SELECT 1 = ANY[{0}]".Fmt(ids);
    Db.Query<Model>(sql);

    I would rather use syntax like this:
    var ids = new int[] {1, 2, 3};
    var sql = "SELECT 1 = ANY(@ids)";
    Db.Query<Model>(sql, new { ids });

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  4. 74 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    6 comments  ·  Flag idea as inappropriate…  ·  Admin →
  5. add Trace method to ILog/Log

    Add a Trace method to Log/ILog in do verbose logging

    8 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  6. Built-in Active Directory Authentication suport.

    I would really like to see out of the box support for IWA - Integrated Windows Authentication with Active Directory. Many in-house .Net developers for both large and small organizations write web applications that are Intranet facing, and require the use of Integrated Windows Authentication with IIS. In these environments, corporate security policy often dictates that Active Directory group membership should drive what resources a user can and cannot access.
    So, Kerberos authentication often plays a big part in shipping the logged in user’s credentials via tickets from the application server to back end databases. Built-in support for a ServiceStack…

    157 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    8 comments  ·  Flag idea as inappropriate…  ·  Admin →
  7. Management Overview Dashboard

    While being able to offload to statsd/graphite/raygun/... is great, a "state of the nation" dashboard would be really handy.

    This could show requests/sec, wait times, "slow" requests, auth failures, live access map, recent exceptions, known issues (e.g. can't connect to redisX/mssqlY)

    229 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    6 comments  ·  Flag idea as inappropriate…  ·  Admin →
  8. AppHostMqListenerBase: AppHost with automatically registered MQ message handlers

    Create [self-hosted] apphost where all request messages are automatically registered to the MQ message service,
    so that all services can be accessed via MQ without the need to register every request type manually with something like "mqServer.RegisterHandler<Hello>(...)" .

    It would be nice if the order of operations of the mq message handling could be further aligned to the http variant.

    8 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  9. Support the Oracle OrmLite provider

    Currently Oracle is not a supported OrmLite provider that's listed on:
    http://servicestack.net/download

    Vote for this feature request if you would like to see the OrmLite Oracle provider officially supported.

    36 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  10. ServiceStack to support localization

    support localization in messages for validations or any other messages sent to the client

    79 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  11. API Explorer/Meta data enhancements

    Building upon swagger feature, (but possibly re-engineering)

    Support to include:
    - complex (nested) DTO's and array
    - markdown documentation (for detailed description)
    - role/access based display (so only authorised endpoints are displayed)
    - rebranding support
    - ability to install nuget package without /docs folder (so as to get annotations, but not html in a model lib)

    81 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    5 comments  ·  Flag idea as inappropriate…  ·  Admin →
  12. Add fast TCP endpoint

    Add the most efficient remote endpoint for consuming ServiceStack services.

    Ideas: use https://github.com/nanomsg/nanomsg (by author and successor to ZeroMQ in C).

    Advantages: Abstracts IPC/TPC/InMemory for picking the most efficient transport. Can easily interoperate with other NanoMsg clients on other platforms. C is nice to embed than C++.
    Disadvantages: Still in Alpha, unclear when it will be stable/safe to use. Still native, requires effort to use 32/64 bit architectures and cross-platform on Mono.

    Alternative: Build endpoint on raw TCP sockets in C# using something like Redis wire protocol for efficient transfer of message payloads. Could imitate operation on redis-server for interoperability…

    105 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  13. Response field filtering

    As per this example: http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api#limiting-fields

    It would be useful to be able to restrict the returned fields provided by the response.

    Using a dot notation we could filter any nested properties as well. e.g.

    GET /customers/fields=id,name,address,address.postcode,address.line1

    16 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  14. Add support for expand object graph on request by default out of the box

    It would be great to have the option to expand by request descendant objects indicating route or getting href attribute with route by default.

    10 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  15. Support Upsert with MySQL

    AWS Charges by the IOp, not supporting UPSERT effectively doubles the cost (and reduces the performance) of running mysql/mariadb on that platform with the SELECT/INSERT behavior of OrmLite

    4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  16. 1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  17. Help Pluralsight update their video on Servicestack and/or the solution

    Help Pluralsight update their videos on Servicestack and/or show how to update their example solutions to the latest version of Servicestack.
    Another alternative is to offer an updated version of the videos example code localy (somewhere at servicestack.net/github.com).

    I tried to do a update to the latest versions myself and I ran into loads of problems. To the extent that i gave up.

    4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  18. Allow custom type converter for CSV parser

    The only thing that keeps me from dropping CsvHelper and using SS Csv capabilities for everything is that quite often I need a custom type converter.

    For instance sometimes currency is a mix of numbers and letters or there can be inconsistent data.

    If there was a way to register a method that would receive the raw column values and alter them then this would make it much more versatile in my opinion.

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  19. Update links in Community resources

    I went trough the links in chapter:
    Community Resources September 20, 2015
    on page:
    http://docs.servicestack.net/create-webservice-from-scratch

    to have a look on how old the articles where. There where a number of not found:s as well as one very graphic adult nude gymnastic site...
    The entries still there where a bit on the old side.


    Creating A Simple Service Using ServiceStack by Shashi Jeevan 11/19/2014
    Introducing ServiceStack by @dotnetcurry ???????????????
    Create web services in .NET in a snap with ServiceStack by @techrepublic August 5, 2014
    How to build web services in MS.Net using ServiceStack by @kishoreborra July 29, 2014
    Getting Started with…

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  20. 1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

Feature Requests

Categories

Feedback and Knowledge Base