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

I suggest you ...

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the "My feedback" filter and select "My open ideas".
(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  1. 11 votes
    Vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      You have left! (?) (thinking…)
      1 comment  ·  Admin →
    • 4 votes
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        I agree to the terms of service
        Signed in as (Sign out)
        You have left! (?) (thinking…)
      • Enable ServiceStack Services in UWP

        Provide a package that allows hosting ServiceStack services (specifically web services and web sockets) in a UWP environment. The primary use-case for this is to allow ServiceStack services to run on an IoT device using UWP IoT Core.

        4 votes
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          I agree to the terms of service
          Signed in as (Sign out)
          You have left! (?) (thinking…)
        • Add the ability to select the serialization mode(Array,Map) in plugin "MsgPack Format".

          To MsgPack was really comfortable as JSON, you must add the possibility of setting "Map" mode. This will give more compatibility when migrating from one version to another, when service is updated, but clients have not yet had time.

          9 votes
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            I agree to the terms of service
            Signed in as (Sign out)
            You have left! (?) (thinking…)
          • 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);

            6 votes
            Vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              I agree to the terms of service
              Signed in as (Sign out)
              You have left! (?) (thinking…)
            • Exclude or Include by route prefix/subfix when add servicestack reference

              when add a service stack reference we can use include types and exclude types.

              could you add include / exclude by route.

              so, we can configure reference like this way.

              //include route "/mobile%"
              or
              //include route "%mobile%"

              1 vote
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                I agree to the terms of service
                Signed in as (Sign out)
                You have left! (?) (thinking…)
              • Encrypted messaging javascript client

                We have message-level encryption and the corresponding .Net client library to use it. But I'd love to be able to call encrypted services from JavaScript. Ideally add to ss-utils.js, or because the encryption can get bulky, into a new ss-encrypt-utils.js.

                4 votes
                Vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  I agree to the terms of service
                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                • SSE Java Client

                  Besides a C# and Javascript SSE Client, it woud be greate to have a Java SSE Client ,too.

                  4 votes
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    I agree to the terms of service
                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                  • 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.

                    8 votes
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      I agree to the terms of service
                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                    • Bug: gateway also changes razor view that will be selected

                      I have the following code

                      ```
                      public class EditAccountAddressPageService : ServiceBase
                      {
                      public object Get(EditAccountAddressPage request)
                      {
                      return Gateway.Send(new GetAddress() { AddressId = request.Id });
                      }
                      }
                      ```

                      The problem is the razor view taken now is `GetAddress.cshtml`

                      1 vote
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        I agree to the terms of service
                        Signed in as (Sign out)
                        You have left! (?) (thinking…)
                        1 comment  ·  Admin →
                      • Localize Login redirect

                        our site has the following route format: /[Locale]/RestOfPath

                        The problem is that the redirect url always redirects to /Login instead of /[Locale]/Login. Could you turn AuthenticateAttribute.DoHtmlRedirectIfConfigured into a static Func instead of a static method so it is overridable?

                        1 vote
                        Vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          I agree to the terms of service
                          Signed in as (Sign out)
                          You have left! (?) (thinking…)
                          1 comment  ·  Admin →
                        • AutoQuery Azure DocumentDB Data Source

                          Azure DocumentDB should be added among existing AutoQuery data source.

                          1 vote
                          Vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            I agree to the terms of service
                            Signed in as (Sign out)
                            You have left! (?) (thinking…)
                          • 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…

                            16 votes
                            Vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              I agree to the terms of service
                              Signed in as (Sign out)
                              You have left! (?) (thinking…)
                              1 comment  ·  Admin →
                            • 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
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                I agree to the terms of service
                                Signed in as (Sign out)
                                You have left! (?) (thinking…)
                              • Allow Abstract Validators where generic is an Interface to run as part of request cycle.

                                When creating a validator class that extends AbstractValidator<T>, the generic must be a concrete class for the validation to actually run once that validator is registered. It would be nice if I could define several interfaces for my messages that I want specific shared validation run against, and then just register a validator for that interface, and have the validation run against any message that comes in that implements that interface.

                                I know there are ways to do this through request filters, as well as through attributes on the messages, but the attributes requires having to pull more dependencies into…

                                1 vote
                                Vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  I agree to the terms of service
                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                • auto update http://github.servicestack.net/

                                  http://github.servicestack.net/ss_admin/autoquery/QueryRepoCommits

                                  seems not to be updated since 2015-09-26. Maybe put an auto pull on the git repos behind it?

                                  1 vote
                                  Vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    I agree to the terms of service
                                    Signed in as (Sign out)
                                    You have left! (?) (thinking…)
                                  • 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…

                                    1 vote
                                    Vote
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      I agree to the terms of service
                                      Signed in as (Sign out)
                                      You have left! (?) (thinking…)
                                    • 1 vote
                                      Vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        I agree to the terms of service
                                        Signed in as (Sign out)
                                        You have left! (?) (thinking…)
                                        1 comment  ·  Admin →
                                      • Android Java Server Events Client

                                        With Service Stack you can create very good backend, it would be nice to use all functions that it provides of Android, without Xamarin because Android is the most popular platform for mobile devices.

                                        For a complete happiness is not enough to us now server events so we do request every 5 seconds to check for data.

                                        Please make the ability to use server events on Android.

                                        Thanks!

                                        9 votes
                                        Vote
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          I agree to the terms of service
                                          Signed in as (Sign out)
                                          You have left! (?) (thinking…)
                                        • support caching in java AndroidServiceClient

                                          Using servicestack client in mobile development with Xamarin gives so much benefits and caching dramatically improves performance and user experience.
                                          It would be nice to have same caching support for all clients (.NET, JAVA, ..)

                                          1 vote
                                          Vote
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            I agree to the terms of service
                                            Signed in as (Sign out)
                                            You have left! (?) (thinking…)
                                          ← Previous 1 3 4 5 6
                                          • Don't see your idea?

                                          Feature Requests

                                          Feedback and Knowledge Base