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

    Add support for pagination in queries with dynamodb.

    Actually, when you set "limit" in Query or Scan methods, the first elements are obtained. This could be the first page. but there is no method that enables you obtain the second or third page.

    Maybe, you can add a GetPage method, that returns a collection wrapper, inherited from Collection<T>. This wrapper could have the last evaluated key.

    Then, GetPage method, could accept a query or scan expression, a page size and the last evaluated key

    This could be very usefull for applications that needs paginate some results but don't need retrieve…

    31 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 →
  2. Better request and exception logging

    As it exists now, request logging only logs valid requests.
    Request Logging:

    It does not log the request if the request is denied for Endpoint Restriction.
    It does not log the request if the request is denied because a route could not be matched (say a parameter was missing, etc).
    It does not log valid requests that are 'in process' - ones that request has been received, but response not sent yet.

    Essentially I would like to see every request sent to the service to be logged in some fashion.

    As far as exceptions go, you have some pretty nice…

    31 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 →
  3. Create a CognitoAuthFeature

    I'd like to be able to incorporate my Cognito User Pool as an authentication and role provider.

    27 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. ExcludePropertyReferences for Data Contracts

    Currently ExcludePropertyReferences is expecting DeclaringTypeName.DataContractName. Its more helpful if the type is fully qualified.

    for example ; from below Json if we want to exclude :{"Officeaddress.houseaddress.city"}; .

    Json:
    //----------------------------------------------------------------------------
    {"id":"eb26f100-3758-4a19-806b-cd5af44f88a4","data":{"lname":"Talluri","firstname":"RamaNaresh","city":"Atlanta"},"collections":{"houseaddress":[{"id":"126e057d-e91b-42ec-b40d-bdba9c831d64","data":{"city":"CAToronto"}}],"officeaddress":[{"id":"5ff48bd4-bfe2-4721-adf1-3f5cd3b5c736","data":{"city":"USAlpharetta"},"collections":{"houseaddress":[{"id":"aad21efc-2768-4518-a505-71dc8b82ad40","data":{"city":"CA_Downtown"}}]}}]}}
    //----------------------------------------------------------------------------
    Model :
    //----------------------------------------------------------------------------
    [DataContract]

    public class AddressModel : BaseModel
    
    {
    [DataMember(Name = &quot;id&quot;)]
    public System.Guid Id
    {
    get;
    set;
    }

    [DataMember(Name = &quot;data&quot;)]
    public virtual BaseAddress Data
    {
    get;
    set;
    }

    [DataMember(Name = &quot;collections&quot;)]
    public virtual AddressCollection Collections
    {
    get;
    set;
    }
    }

    [DataContract]
    public class BaseAddress
    {

    [DataMember(Name = &quot;lname&quot;)]
    public string LastName
    {
    get;
    set;
    }
    [DataMember(Name = &quot;firstname&quot;)]
    public string FirstName
    {
    get;
    set; …

    27 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 →
  5. Unions implementation for ORM Lite

    Hi

    In my application user can define multiple filters for specific type. I would like to somehow combine these queries in single one.

    SqlExpression<Notice> query1 = Db.From<Notice>(s=>s.param1 == 2);
    // ...queries are more complicated but result type is same
    SqlExpression<Notice> query2 = Db.From<Notice>(s=>s.param1 == 3 && s.param2 == 3);

    SqlExpression<Notice> unionAll = query1.UnionAll(query2);
    var result = Db.Select(unionAll);

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

    25 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 →
  7. Add an LDAP Authentication Provider

    With .NET Core not initially having support for Windows Authentication using the System.Directory assemblies, I would like to request the addition of a new LDAP Authentication Provider based on the Novell.Directory.Ldap.NETStandard (https://github.com/dsbenghe/Novell.Directory.Ldap.NETStandard) project. This will allow developers to update to the latest ServiceStack while still providing a way to authenticate and authorize against a legacy/non-Azure Active Directory.

    24 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 →
  8. Azure DocumentDB caching provider

    Support Azure DocumentDB as an available caching provider for Azure hosts.

    23 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. 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&quot; that is very nicely designed, with both configuration and override possibilities.

    22 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. Two Factor Authentication Feature

    Two Factor Authentication is a pretty standard thing nowadays, it even comes baked into the typical ASP.NET Core Identity system. It would be nice if Service Stack had this feature as well. We are working on porting a legacy application from ASP.NET to ServiceStack and this is a requirement for government applications (some form of TFA).

    20 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. Add persistence support for Couchbase

    This shouldn't be too hard considering you seem to already support memcached..?

    20 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 →
  12. Add Emailing functionality to Verify Account, Request Password Reset

    It would be a good idea for users when using Service Stack Authentication to have functionality like Asp.net Identity to Verify their account, reset their password.

    18 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 →
  13. support F# data type for serialization and deserialization

    This is specially for option type and discriminated unions. Currently it is not supported by Servicestack.Text. It would be great to have support for that.

    For

    type City = Abad | Pune

    [<CLIMutableAttribute>]
    type Person = {

    FirstName:string
    
    LastName: string option
    City : City

    }

    let p1 = {FirstName = "Foo"; LastName = Some "Bar"; City = Pune}

    let jss = new JsonStringSerializer()
    let p1Str = jss.SerializeToString(p1)

    It is serializing
    "{"FirstName":"Foo","LastName":{"Value":"Bar"},"City":{"Tag":1,"IsAbad":false,"IsPune":true}}"

    Where is should be
    "{"FirstName":"Foo","LastName":"Bar","City":"Pune"}"

    For reference https://github.com/Microsoft/fsharplu/wiki/fsharplu.json is library by MSR.

    It would be great to have this feature so DTO can be written in F# types. Currently…

    17 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. AutoQuery Azure DocumentDB Data Source

    Azure DocumentDB should be added among existing AutoQuery data source.

    17 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. OpenAPI 3.0

    Please implement support of generating OpenAPI 3.0 self-describing specification.

    17 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 →
  16. 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 →
  17. Add Navigation Properties To POCOs

    Entity Framework currently has navigation properties for foreign keys to other tables. Having this feature in OrmLite would be absolutely amazing.

    16 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. Add Metrics.NET Adapter

    Add support for Metrics.NET: https://github.com/etishor/Metrics.NET

    They already have adapters for Nancy & Owin: https://github.com/etishor/Metrics.NET/tree/master/Src/Adapters

    I've also posted a question wheter the maintainer of Metrics.NET has any plan in doing it for ServiceStack in his repo: https://github.com/etishor/Metrics.NET/issues/101

    16 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. Enhance ServiceStack Razor page lookup options

    I have a custom basic CMS I put together (work in progress) for some of my clients that allows developers to build CMS plugins that auto-install on application startup. The plugins can deploy both content pages and view pages (and use ServiceStack plugins and CMS plugin interfaces to configure, and add capabilities to the CMS at startup), similar to how NopCommerce and Orchard work.

    Currently, I have to rely on view pages to be unique, but I would like to be able to modify the lookup algorithm to take advantage of paths to the razor/markdown pages in the Views folder,…

    15 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 →
  20. Include XML documentation files in the NuGet releases

    It seems no XML documentation is shipped with NuGet packages. This makes discovery hard, for example with Intellisense in Visual Studio, and is a shame given that the documentation is already written.

    http://stackoverflow.com/questions/19719607/how-can-i-get-servicestacks-xml-documentation-to-show-in-visual-studio

    13 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 →
  • Don't see your idea?

Feature Requests

Categories

Feedback and Knowledge Base