Skip to content

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

133 results found

  1. EnableResponseTracking under CsvRequestLogger

    CsvRequestLogger has a boolean 'EnableResponseTracking' property; it works perfect. But, sometimes the response data is a file and it makes the log file huge and difficult to read. It would be nice to make the property a lambda(Func) expression so that the user can decide when to include the response data.

    3 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    I've just added support for this in this commit:

    https://github.com/ServiceStack/ServiceStack/commit/167d66340544c51a83bc00ec62054bfb975569aa


    This change is available from v6.1.1 that's now available on MyGet:

    https://docs.servicestack.net/myget


    FYI we're also working on a built-in Request Logger UI we hope you'll find useful at: /admin-ui/logging (you'll need the "Admin" role to access it)


    We're also moving feature requests to our new GitHub Discussions site at:

    https://servicestack.net/ideas

  2. Add support for Dart Null Safety

    Add Dart Null Safety support to generated Dart DTOs & servicestack dart client library.

    https://forums.servicestack.net/t/dart-null-safety/9683

    5 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  3. Python as a supported Native Type

    The addition of Python as a Native Type would make it a lot easier to integrate ServiceStack and Python.

    3 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  4. Make servicestack compatible with AWS lambda

    As it stands currently serverless is the future of application development . With services like serverless.com and the benefit these being to developers in terms of low / no touch deployments , massive cost savings and infinite scalability, it's clear that serverless is here to stay.

    Many companies like us - Moosend.com - have invested years in creating microservices on Servicestack. Typically the service platform can't dictate the infrastructure architecture. Therefore now that we have decided to move a lot of our services over to AWS and Lambda we face the dilemma of having to pick between lambda and servicestack…

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  5. Add Sign in with Apple auth provider

    Add Sign in with Apple auth provider support for servicestack. Same way as there is facebook, google and other providers

    3 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  6. Expose cancellable async methods in clients through an interface

    IHttpRestClientAsync exposes various method-specific async methods as well as SendAsync.

    SendAsync has a cancellation token parameter in its signature:

    Task<TResponse> SendAsync<TResponse>(string httpMethod, string absoluteUrl, object request, CancellationToken token = default);
    

    while other methods (GetAsync, PostAsync etc) don't

    https://github.com/ServiceStack/ServiceStack/blob/6366ba9316d1380b920cd854042bef8649f630c5/src/ServiceStack.Interfaces/IHttpRestClientAsync.cs

    Implementations of IHttpRestClientAsync (like JsonHttpClient) do have the methods which support then token:

        public Task<TResponse> GetAsync<TResponse>(IReturn<TResponse> requestDto, CancellationToken token) =>
            SendAsync<TResponse>(HttpMethods.Get, ResolveTypedUrl(HttpMethods.Get, requestDto), null, token);
    

    https://github.com/ServiceStack/ServiceStack/blob/9de810436e0a589be002dff5bdfcf203081e6a0b/src/ServiceStack.HttpClient/JsonHttpClient.cs#L699

    and in fact all the method-specific implementations just call SendAsync under the hood.

    Without token-aware methods exposed through an interface I cannot use them in a depencency-injected IServiceClient and its derivatives. They are only usable if…

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    Yeah the clients async interfaces weren’t ideal, it started from the initial impl of the .NET WebRequest clients being implemented using the older APM model which didn’t use them. Other implementations just kept the same API.

    Anyway since it’s a source-compatible change (will require a rebuild after upgrade), I’ve added an optional CancellationToken to all Async Service Client APIs in this commit:

    https://github.com/ServiceStack/ServiceStack/commit/dc6a281e80987b522c218bc82ce9cfefb111ea86

    This change is now available from v5.8.1 that’s now available on MyGet:

    https://docs.servicestack.net/myget

  7. Blazor support

    Blazor (www.blazor.net) seems to be the next revolution in web programming, where C# can be used instead of Javascript.

    However, WebAssembly is in essence still Javascript, and thus it seems that the C# client for Servicestack cannot be used:

    https://stackoverflow.com/questions/56386712/servicestack-adding-blazor-support

    I would suggest looking into supporting Blazor client-side programming with ServiceStack, at least a C# client that works with the ServiceStack cli (https://docs.servicestack.net/csharp-client).

    Regards

    67 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  8. mix alias <name> <url>

    Would be nice to specify easy to remember alias for custom gist.

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  9. PHP Service Clients and DTO generation

    Our clients wish to consume our services via PHP.

    ServiceStack support for PHP via Service Clients, DTO generation and possibly 'Add Service Reference' would be great!

    3 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  10. 25 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’re going to support Server Events for alt languages through ServiceStack’s new gRPC support which has a dedicated “Server Stream” rpc channel that’s specifically designed for persisten server communications like Server Events.

    There’s a Dart Server Events example in the docs:

    https://docs.servicestack.net/grpc#server-stream-grpc-services
    https://docs.servicestack.net/grpc-dart

    May look at improving the development UX in future with an “Adapter” of the gRPC stream to provide a declarative UX for registering handlers.

  11. Add SqlListLazy to OrmLite

    When using raw SQL, due to having complex CTE queries, that does not start with SELECT but rather with WITH, the SqlList method loads everything in one go.
    This is unfortunate when the result set is large, and we would like to process one row at a time, and avoid the memory overhead, and waiting time, of getting the whole result set at once.

    The SelectLazy would have solved this problem, if it had supported any arbitrary SQL, but it does not.
    According to the documentation SelectLazy can do this if the SQL starts with SELECT however, for our…

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  12. Possibility to download previous version of ServiceStackVS extension

    Since latest update of ServiceStackVS seems to introduce a bug in VS 2015, the option "Add ServiceStack Reference" is no longer appearing in project context menu. In addition, the ability to update ServiceStack References is broken too.

    Where can I download previous version of this extension ?

    4 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  13. Support for Visual Studio 2019

    VS2019 will be released tomorrow, but the current VSIX is not compatible with it. Aside from bumping the supported versions, it should also be updated to an AsyncPackage.

    6 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  14. 3 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  15. mongodb / nosql support

    For a few of us, we are constrained with having to use mongodb or other nosql databases instead of an RDBMS.

    It would be good if we have a some sort of native mongodb support or at least a few examples/patterns of how to go about a full mongodb/servicestack solution. I understand that we have examples of redis usage but, we do not have authentication and other similar aspects as examples.

    Love the tooling still! yet hate to work with anything else now (you spoiled us!) that I have to work with mongodb.

    Cheers!
    -Simo

    18 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  16. OrmLite.PostgreSQL support for HStore types (Dictionary)

    Support of HStores when using Dictionary<string,string> or as a new field attribute.

    HStores (key values) are very good in certain scenarios (logging/auditing) and complex parsing is easier to do in .NET than in SQL.

    Custom SQL that SELECT's data is easy, but not easy to insert/save hstore in custom sql.

    Also Npgsql already supports them.

    More info here:
    https://forums.servicestack.net/t/cannot-insert-idictionary-string-string-into-hstore-column/6894

    3 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  17. Support OAuth2 on .net core

    At the moment, the OAuth2 Providers for ServiceStack library does not support .net core, as explained by mythz in this StackOverflow answer:

    ServiceStack's OAuth2 depends on DotNetOpenAuth which unfortunately doesn't support .NET Core so there's currently no support for OAuth2 - https://stackoverflow.com/a/42344183/969613

    Google Authentication is a feature requirement on my current project, so this one thing is preventing us from moving to .net core, support for this would be great.

    154 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  18. Create Auto Crud

    Take a project like http://www.mattjcowan.com/funcoding/2013/05/11/restful-api-and-ui-for-typed-views-and-typed-lists/
    and lift it to the next level.
    Purpose: Point ActiveScaffold with AutoCrud to your database, and you get a half sensible CRUD web interface to maintain it. In other words, an instant backoffice.
    This is orthogonal to any other API usage of ServiceStack.

    Inspired by the Rails equivalent "https://github.com/activescaffold/active_scaffold" that is very nicely designed, with both configuration and override possibilities.

    22 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  19. Integrate with Thinktecture.IdentityProvider

    I would like to have an OpenId and OAuth integration with Thinktecture.IdentityServer just like google and Facebook. I would like to implement my own SSO instead of relying on social networking OpenId

    42 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  20. Enable foreign key constraint checks for Sqlite

    Currently OrmLite's Sqlite adapter supports creation of foreign key constraints when using the ForeignKey attribute on your data classes. However the foreign keys aren't actually enforced at the database by default (for 'compatibility reasons').

    I don't know when Sqlite added the feature, but it will check constraints if you send a pragma at the start of each connection:

    http://www.sqlite.org/pragma.html#pragma_foreign_keys

    I've tested a simple workaround by sending the pragma as a SQL statement in my service methods), and the constraints are enforced as expected. Cascade deletes work as expected too.

    However this isn't optimal if you want your service code to…

    4 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    The EnableForeignKeysCheck/Async and DisableForeignKeysCheck/Async APIs are the RDBMS agnostic APIs for enabling/disabling FK constraints which in SQLite sets the foreign_keys PRAGMA.

    There’s no state or concept of “prepending to first db request”, the right time to call it is after opening a DB Connection which you can wrap in your own Custom SqliteOrmLiteConnectionFactory as Franck shows in comments or behind a custom IDbConnection extension method that does it or if you want it called everytime you can register it on the IOrmLiteDialectProvider’s OnOpenConnection delegate which is also available on the OrmLiteConnectionFactory’s ConnectionFilter.

← Previous 1 3 4 5 6 7
  • Don't see your idea?

Feature Requests

Categories

Feedback and Knowledge Base