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

162 results found

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

    7 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)
  2. Allow cookie names to be configurable

    In order to improve security it would be beneficial to change cookie names from const to a configurable option. It would help mask the presence of service stack and improve security in accordance with OWASP recommendations - https://www.owasp.org/index.php/Session_Management_Cheat_Sheet#Session_ID_Name_Fingerprinting

    7 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)
  3. Add Stream support

    Please add support for Streams as you did for Strings, Lists and Sets

    7 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. 1. HATEOAS (RDF/Semantic web support for entities), 2. ASP-Net Indentity Authentication Integration (http://www.asp.net/identity/)

    I've read somewhere where you don't see the need for hateoas support Demis, but I'd encourage you to revisit the subject... RDF semantic web is growing (ie RDFa), so at least support for applying sematic attributes to each object could be helpful (ie FOAF, Dublin Core, etc.)

    7 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)
  5. Support Calls to .ToString() in SqlExpression Where Clause

    This feature is useful when you need to do STRING related operations on NON STRING types like INT.

    One use case is when you need to do pattern matching (used in searches) on an INT column. That would be great to be able to just write:

    q.Where(x => x.IntColumn.ToString().Contains("123"));

    which should generate the following in SQL Server:

    WHERE cast(IntColumn as VARCHAR) LIKE '%123%'

    Since this feature is not implemented we have to use something like this:

    q.Where("cast(IntColumn as VARCHAR) LIKE '%123%'");

    Which is not that good because it is not strongly typed. And also for that SqlExpression to work, OrmLiteUtils.IllegalSqlFragmentTokens…

    7 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. Allow Join with UpdateOnly

    Trying to UpdateOnly, when onlyField is typed as SqlExpression and the query has a Join an error will be thrown that says "The multi-part identifier "DepartmentJobCode.DepartmentId" could not be bound."

    Example:
    var jobsQuery = _db.From<dev.ScheduleEvent>()
    .Join<dev.DepartmentJobCode>((se,jc)=> se.Job == jc.JobTitleId)
    .Where<dev.DepartmentJobCode>(e => Sql.In(e.DepartmentId, departments))
    .Update(x => new { x.Published, x.ModifiedBy});
    db.UpdateOnly(new dev.ScheduleEvent { Published = false, ModifiedBy = userId}, onlyFields: jobsQuery);

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

    Please add overload for PostFileWithRequest which is asynchronous in the same way SendAsync is implemented in ServiceClientBase - meaning an overload which accepts success/error Actions and the other which returns Task, or if both are not possible then just the latter.

    This is mainly because in Silverlight sync APIs are not "welcome" which means we have to 'manually' call this API in an async manner.

    Thanks!

    6 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)
  8. PocoDynamo - Support Distributed Locks

    The Redis client supports distributed locks, which is a really useful feature, the same is possible using DynamoDB.

    Reference Implementation:
    https://github.com/awslabs/dynamodb-lock-client

    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)
  9. 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)
  10. Support Changing ViewPages directory

    Support Allowing Custom ViewPages directory
    Right now the convention of using a folder in root works great for the general case (We've been on service stack razor for at least a year). With that said we hit the point that we need to move the views into a subfolder to easier support a part of the subcontrol strategy.

    Would love to have the convention be default and a easy way to change the base folder for vies on the apphost configure method.

    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)
  11. Appsettings with wildchar get Api

    Possibility to get all the keys via wildchar ...For example retrieve all the items that starts with "widget:" and store them in a dictionary <string, T>

    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)
  12. 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)
  13. Service "Interceptor" would be a nice touch.

    In a similar but now discontinued Agatha RRSL service (source available on git), there's a "interceptor". It has constructor that allows IoC, BeforeHandling, AfterHandling, plus RequestContext that has access to both Request and Response object. You can register multiple interceptors at start up and they will wrap around each other, and around the default handler. Would be nice feature that allows true aspect programming in ServiceStack.

    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. CRUD operations for inherited objects

    Being able to CRUD operations for inherited objects. It's would be cool!

    Adding OrmLite support (full CRUD) for object like this:

    [Alias("base_table")]
    public class BaseObject
    {
    [AutoIncrement]
    [Alias("_id")]
    public int Id { get; set; }

    [Alias("_name")]
    [StringLength(250)]
    public string Name { get; set; }
    

    }

    [Alias("apply_table")]
    public class ApplyObject : BaseObject
    {
    [Alias("someproperty1")]
    [StringLength(250)]
    public string SomeProperty1 { get; set; }
    }

    6 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. OrmLite - per property Unicode strings

    I'm working with SQL Server tables that have a mixture of VARCHAR and NVARCHAR columns. Unless I'm mistaken OrmLite currently only supports enabling Unicode strings globally for a given connection. To workaround this constraint I've defined an additional named connection which is configured to UseUnicode, on a service-by-service basis I'm enabling the named connection using the ConnectionInfo attribute. However this means I have to be careful to ensure any db statements don't end up mixing VARCHAR and NVARCHARs - to avoid performance issues with suboptimal index usage.

    It would be helpful it properties on the data model could be annotated…

    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)
  16. ADOMD.net Orm provider addition and would work with AutoQuery

    ADOMD.net Cubes as a source of data. I think this would be huge in adding a provider to the mix and utilize Analysis Service cubes to return faster data/query's for warehouse service use.

    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)
  17. Port AspNetWindowsAuthentication To .Net Core

    At present, the AspNetWindowsAuthentication is not supported in .NET Core. ASP.NET Core does allow for Windows Authentication (through IIS reverse proxy), so it would be great to have support for this in ServiceStack.

    I made an attempt at porting it myself, and it kind of works, though I'm sure I'm missing some subtleties on how it works, as I sometimes get "header already set" errors on some requests. In case this never gets picked up, here's a gist of my attempt:

    https://gist.github.com/darkonejr/7bcdcf7aea9fee7d21329fd58de5d43d

    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)
  18. MessageService with Kafka same as current RabbitMQ integration

    Is this something that could be done? Would bring powerful streaming to ServiceStack

    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)
  19. Allow the NativeTypes clients to support the standard .Net format for TimeSpan

    When setting the TimeSpanHandler to use TimeSpanHandler.StandardFormat the NativeType clients are not able to deserialize TimeSpans because they are expecting the format to be XSD duration.

    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)
  20. 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)
  • Don't see your idea?

Feature Requests

Categories

Feedback and Knowledge Base