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. support dnx.

    I want to program ported to Linux. but current version servicestack not support dnx ( core clr )

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

    We’re super excited to announce ServiceStack is now running on .NET Core!

    Nearly all of ServiceStack’s features are now available across 21 of our most popular NuGet packages, inc. OrmLite support for SQL Server, PostgreSQL and Sqlite. We’ve been able to achieve excellent integration and code-reuse where your ServiceStack AppHost can be registered as a .NET Core module and most of your Service Implementation using ServiceStack libraries remains unchanged.

    We’ve ported a number of existing Live Demos to .NET Core providing example projects so you can easily compare .NET 4.5 ServiceStack code-bases with what it looks like in .NET Core at:
    https://github.com/NetCoreApps/LiveDemos

    All .NET Core Live Demos are running on Linux / Docker using AWS ECS Container Service.

    We’re maintaining .NET Core packages isolated from the Main NuGet packages separated with a `.Core` suffix until we’re satisfied .NET Core has been battle-tested…

  2. AngularJS support angular2

    /*
    • @license AngularJS v1.2.20
    •(c) 2010-2014 Google, Inc. http://angularjs.org
    •License: MIT
    /

    The version of AngularJS is too slow~

    26 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 →
  3. pagination bug mssql

    We have a view:

    `CREATE VIEW StockInformation AS SELECT dbo.Product.Code AS ItemCode, dbo.Warehouse.Code AS WarehouseCode, dbo.StockIndicator.Code AS StockIndicatorCode, dbo.Stock.StockOnShelve, dbo.Stock.StockAvailable,

                         dbo.Stock.StockPurchaseBackorder, dbo.Stock.StockFirstPurchaseDeliveryDate
    

    FROM dbo.Stock INNER JOIN

                         dbo.Warehouse ON dbo.Stock.WarehouseID = dbo.Warehouse.WarehouseID INNER JOIN
    
    dbo.StockIndicator ON dbo.Stock.StockIndicatorID = dbo.StockIndicator.StockIndicatorID RIGHT OUTER JOIN
    dbo.Product ON dbo.Stock.ProductID = dbo.Product.ProductID`

    and the following query:

    var stocks = con.Select<StockInformation>(con.From<StockInformation>().OrderBy(x=> x.ItemCode).Limit(pageSize * pageNumber, pageSize));

    The first page results into query:

    SELECT TOP [pageSize] ... FROM StockInformation.

    The second query looks like this:

    SELECT * FROM (SELECT "ItemCode", "WarehouseCode", "StockIndicatorCode", "StockOnShelve", "StockAvailable", "StockPurchaseBackorder", "StockFirstPurchaseDeliveryDate", ROW_NUMBER() OVER (ORDER BY "StockInformation"."ItemCode") As RowNum

    FROM "StockInformation") AS RowConstrainedResult WHERE RowNum…

    0 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 →
  4. Add Servicestack + Aurelia template

    Add a starter template for servicestack and aurelia. After what I've read, Aurelia and ServiceStack seems to have a lot in common. Like conventions over configuration. It's easy to test, customize and extend.

    30 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Flag idea as inappropriate…  ·  Admin →
  5. Support Kestrel as a hosting provider

    The KestrelHTTPServer is built on the cross-platform libuv library.

    While some of the elements in Kestrel may conflict with ServiceStack's implementations (different DI, request / response filters), the overall goals are in alignment, and would bring a powerful new hosting option for ServiceStack.

    https://github.com/aspnet/KestrelHttpServer

    17 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 →
  6. new feature in c# add service stack reference

    I'd like the possibility to specify if types (all or specific ones) should be generated as internal and not as public

    such as
    InternalTypes: ... list of types

    often I get collision among types that are in a shared library , but that do "leak" through a service request / response DTO .

    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 →
  7. support swagger 2.0

    in order to tie into the ecosystem of self-describing APIs supporting Swagger 2.0 definitions, I would like to suggest support for this version of swagger. This is particularly necessary for supporting Azure Web Api Apps....the only way to create an Azure API app currently appears to be to use the Swashbuckle Generator (which means using WebApi instead of ServiceStack) or hand-crafting the definition file.

    212 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    9 comments  ·  Flag idea as inappropriate…  ·  Admin →
  8. Self Host Response Compression

    Add built-in response compression for Self Hosted applications.

    As per https://forums.servicestack.net/t/http-response-compression-with-self-hosted/2098/4, there is only one way to enable compression on a Self Hosted SS application, add a http proxy like nginx (beta on Windows) in-front of SS.

    This is not ideal as it increases the complexity of deployments and maintenance.

    11 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 →
  9. Extend CacheResponse feature with a VaryByRoles option

    A number of our services have responses that vary by the set of roles a user is associated with. It would be more memory efficient if we could cache by roles rather than by user for these services.

    3 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 →

    I’ve added support for VaryByRoles in this commit: https://github.com/ServiceStack/ServiceStack/commit/bbd3eda601b4a373d81bbed593bc2b743dbcf6f6

    You need to be explicit in which roles the cache should be varied by, e.g:

    [CacheResponse(Duration = 60, VaryByRoles = new[] { “RoleA”, “RoleB” })]

    Where there will be separate caches created for Users in “RoleA” vs “RoleB” vs No Role/UnAuthenticated Users.

    This is available from v4.0.55 that’s now on MyGet

  10. ServiceStack.Razor Reference is System.Web.Razor, Version=2.0.0.0, It is older version

    ServiceStack.Razor

    &lt;Reference Include=&quot;System.Web.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL&quot;&gt;
    
    &lt;SpecificVersion&gt;False&lt;/SpecificVersion&gt;
    &lt;HintPath&gt;..\..\lib\System.Web.Razor.dll&lt;/HintPath&gt;
    &lt;/Reference&gt;

    replace to(use newest lib):

    &lt;Reference Include=&quot;System.Web.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL&quot;&gt;
    
    &lt;HintPath&gt;..\..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll&lt;/HintPath&gt;
    &lt;Private&gt;True&lt;/Private&gt;
    &lt;/Reference&gt;

    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 →
  11. PocoDynamo - Support Generic Types

    We're interested in purchasing licenses for ServiceStack. Particularly, we're interested in using the ServiceStack.Aws component. However, while evaluating it, we noticed that the PocoDynamo implementation fails to support generic types.

    Currently, if a table is registered using a generic type (i.e. db.RegisterTable<GenericPoco<Poco>()) , it fails because the name used for the table does not abide by DynamoDB's rules for Table Name.

    I have local modifications of the ServiceStack.Aws source that allows for generic types definitions to be registered, including tests showing it working. I can submit this code to somebody on your team if you like.

    1 vote
    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 →
  12. Why 'Fmt'?

    Why don't you use plain 'Format' instead?

    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 →

    ‘fmt’ is a widely used abbreviation to mean format, as this is something that can used a lot we prefer its most abbreviated form to reduce the noise. If you prefer a longer name you can use the equivalent `.FormatWith()` extension method however both these APIs are effectively deprecated with C# 6’s new string interpolation.

    Please ask questions in Customer Forums or StackOverflow: https://forums.servicestack.net

  13. Change ServiceStackVS templates to Gulp

    Gulp has got much better friction in the community than Grunt and many people already moved to Gulp completely. ServiceStack SPA templates use Grunt and leverage Gulp packages via grunt-gulp, which seems to be articifial. Wouldn't it be easier just to remove Grunt at all and make everything with Gulp instead?

    12 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Flag idea as inappropriate…  ·  Admin →
  14. 6 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 →
  15. ORMLite - Add attribute to ignore property on updates

    It'd be nice to have an attribute to apply to data DTOs that would cause them to be excluded if an update statement is executed.

    Use case: Auditing
    I have an IAudit interface that looks like (basically copied from Demis' answer here http://stackoverflow.com/questions/21803999/are-interceptors-possible-in-servicestack-ormlite)

    public IAudited{
    string CreatedBy {get; set;}
    DateTime CreatedDate {get;set;}
    string ModifiedBy {get;set;}
    string ModifiedDate {get;set;}
    }

    Using OrmLite's insert filter makes it easy to generate values for the interface members when setting, as I can get the current user and Date and use them for both the Created and Modified fields. On an update though, I…

    19 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. Java Client: Add all fields on @ApiMember annotation to prevent compilation errors

    For example if the API definitions has ExcludeInSchema set, the autogenerated DTOs do not compile due to unrecognized field on the annotation.

    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 →
  17. Add support for non-ambient TypeScript module generation in ssutil

    While having typing information in an ambient module (d.ts) is great for most use cases it doesn't cover the following two problems:


    • Using enums declared in an ambient module: The enums are not compiled to JavaScript objects and can therefore not be used

    • Creating instances of DTOs: You cannot create an instance of a DTO if it is an interface.

    My suggestion is to have the possibility to create a normal TypeScript module with classes instead of interfaces and exported enums which can be compiled to JavaScript.

    Currently the following ambient module is created

    declare module api
    {

    interface MyDTO
    
    11 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 →
  18. Add basic/digest authentication to AndroidServiceClient

    Add built-in basic/digest authentication to the android JsonServiceClient/AndroidServiceClient

    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. WebServiceException ToString Overrride

    Hi, currently WebServiceException does not override to string , so that the base ToString() implementation which returns quite "unusefull" info

    I suggest to override the ToString method of WebServiceException
    to add info such as errorCode, errorMessage, StatusCode, .Responsestatus.Errors .. etc ..

    That would turn usefull, expecially when logging, since most logging mechanism dump the ex.ToString() ..

    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 →
  20. enum information in the metadata page

    according to this http://stackoverflow.com/questions/22072109/is-there-a-way-to-have-a-servicestack-metadata-page-show-all-the-options-for-an

    it's not possible to have enum information show up in the metadata page, but only in swagger .. it would be nice to have such allowed enum values in metadata page as well.

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

Feature Requests

Categories

Feedback and Knowledge Base