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. Add documentation for the PublishMessage in the IRedisClient

    In the IRedisClient version 4.0.0, there is a method with signature:
    long PublishMessage(string toChannel, string message);

    There is no documentation in the code indicating what the return type of "long" indicates. Having to go online to look this up is rather tedious, and seems to be a common problem with the documentation.

    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…)
    • Rate ServiceStack Customer Support Agents

      I think having a rating on the developers who respond would help the company allocate resources more appropriately. Basically a 5 star rating system if you want to rate your interaction with their people, with the ability to make a comment about the quality of the service your received.

      3 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…)

        This site is for feature requests you would like implemented in ServiceStack’s Software.

        For completeness, I understand you’re frustrated and requesting this in response to your feature request being declined:

        https://servicestack.uservoice.com/forums/176786-feature-requests/suggestions/32034631-add-documentation-for-the-publishmessage-in-the-ir

        and my response to your comments on:

        https://servicestack.uservoice.com/forums/176786-feature-requests/suggestions/12303831-sdk-documentation

      • Move all extension methods into separate namespace(s)

        When writing code that uses ServiceStack, its fairly common to import the ServiceStack namespace (or others) via a using statement. Doing so will make all the extension methods within that namespace available.

        I have experienced several cases where I have my own custom extension methods with a conflicting signature that I would like to use instead of the ServiceStack method. However there is no ideal way to disambiguate them currently. My only choices are:

        1) Move code around into separate files so that I only import either the ServiceStack namespace or my namespace.

        2) Refer to the proper method by…

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

          That’s the opposite of how ServiceStack is designed, hurts discoverability, increases the friction and support burden due to broken references and would result in unacceptable breaking changes. The only extension methods we plan on removing are those duplicated by newer versions of the .NET Framework.

        • Refactor IRedisSubscription interface to be more intuitive

          https://github.com/ServiceStack/ServiceStack.Redis/wiki/RedisPubSub gives a good example of how to use pub sub pattern. However, from the documentation that is provided with the API, I don't think there's a way to infer that in the property Action<string, string> OnMessage { get; set; } the first param is the channel,
          and the second one is the msg. Other functions are pretty self explanatory, but for this one, I don't feel like I should have to thumb through a bunch of examples to have to figure out how to use it.
          A more self explanatory pattern would be to have an actual event OnMessage…

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

            The OnMessage is documented on both the wiki and the home page:
            https://github.com/ServiceStack/ServiceStack.Redis#usage

            If the API isn’t self-explanatory checkout the docs to see if there’s an example, otherwise feel free to ask a question on our Forums or StackOverflow.

            I’ve added API docs in this commit https://github.com/ServiceStack/ServiceStack.Redis/commit/cc5f4ba416d5c904a9b483adf92a504c2e9e9dd9

            But we wont be making any breaking changes to existing APIs.

          • Implement BCrypt or SCrypt for IHashProvider

            ServiceStack/Auth/SaltedHash.cs appears to implement one round of a HashAlgorithm. This constrains the user to KeyedHashAlgorithm, MD5, RIPEMD160, SHA1, SHA256, SHA384, and SHA512, none of which are suitable for hashing passwords.

            Would the ServiceStack project consider one of the existing BCrypt or SCrypt implementations in the GitHub community (for example viniciuschiele/Scrypt) or does it require that the library be professionally audited by penetration testers?

            Would it accept a contribution given a valid CLA?

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

              No we can’t force any additional dependencies to the core ServiceStack.dll but you can use your own custom HashProvider by registering it in the IOC, e.g:

              container.Register(c =>
              new MyCustomHash());

            • 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…)
              • Plugins inside multitenant environment

                Hi!

                We are building an asp.net mvc app with servicestack api. We have a plugin system which allows us dynamically load/unload plugins (Plugin is a custom servicestack plugin) as long as it is not multitenant solution there is no problems, if we wanted another version of plugin we install it during runtime and restart appdomain works like a charm. Now the question is is there a way to do this on multitenant situations where plugins must be loaded/unloaded on each request. To unload them maybe it is not that big of a problem, but how to deal when we have…

                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…)
                  declined  ·  1 comment  ·  Admin →
                • Support EnumAsInt attribute in ServiceStack.Text JSON serializer

                  EnumAsInt was added as an alternative to Flags in OrmLite. This would be nice to have in Text too.

                  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 →

                    It’s a feature that it lets you control OrmLite independently of the serializers, otherwise it’s just a duplicate/redundant version of [Flags] which you should use instead if you want it on both.

                  • Continue supporting .NET 4.0 projects

                    Microsoft has ended support for .NET 4, 4.5 and 4.5.1 on January 12th:
                    https://blogs.msdn.microsoft.com/dotnet/2015/12/09/support-ending-for-the-net-framework-4-4-5-and-4-5-1/

                    We've started seeing some of our 3rd Party NuGet dependencies stop providing .NET 4.0 builds which is forcing us to reference old packages and prevents us from being able to access newer features.

                    As a result we plan to follow .NET recommendation and stop providing .NET 4.0 builds for all releases after August 1st, 2016.

                    If you absolutely need .NET 4.0 builds beyond this date please leave a comment on this request describing your use-case as well as the expected date before you will be able…

                    5 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…)
                    • Upload Symbols for v4.0.48 To SymbolSource

                      It looks like the symbols for the 4.0.48 didn't get uploaded to symbolsource.

                      0 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 customization of authentication route verbs

                        It is currently possible to override the default authentication routes, but only the path can be set. It would be useful to be able to override the allowed verbs. I'd like to be able to prevent GET /auth/credentials, by limiting the endpoint to POSTs only. I've not been able to find any other ways of doing this.

                        3 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 FluentAPI to add dynamically response type

                          It's possible to add an overload in Fluent API to register also the response type together with the routing path?

                          For example: Routes.Add(requestType,restPath,verbs,responseType).

                          This can be useful when you can't use the IReturn Interface on DTO objects (for example inside UniversalApp PCL).

                          3 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…)
                          • TechEmpower.com Benchmarks

                            ServiceStack does not look so good here, some are slow, others are failing entirely. I would be particularly interested in nginx and smart thread pool results being updated

                            2 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…)
                              declined  ·  1 comment  ·  Admin →
                            • Possible performance problem in MarkdownFormat plugin

                              The MarkdownFormat plugin recursively searches all directories for *.md files during Registration (in the Register() method).

                              We have some web applications, where we have thousands of (sub-)directories, e.g. in a data folder. This means, that the Register() method may take up to 60 seconds to scan for *.md files, thus slowing down the application startup.
                              We have one customer who reported a startup-delay of several minutes.

                              As far as I have seen (using ServiceStack 3.9.71), there is no way to restrict the folders being searched by the MarkdownFormat plugin.

                              In our case, the workaround was to simply disable the Markdown-Feature…

                              3 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 →
                              • Seperate Funq into it's own package

                                I like using the funq ioc container. The original container doesn't have the auto resolve stuff, and seems to be abandoned (or finished*).

                                It would be cool to use just the servicestack.ioc container in projects without bringing in the whole of servicestack.

                                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 →
                                • OWIN compatible ServiceStack

                                  With the OWIN specification being final, it seems like support is bound to happen sooner rather than later.

                                  I believe some effort was made a couple of year https://github.com/ServiceStack/ServiceStack.Owin).

                                  163 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…)

                                    Whilst this feature requested OWIN support, it really wanted better integration with the external ecosystem outside of ASP.NET Handlers.

                                    This is now resolved with .NET Core which has become the future Web Platform for .NET which as part of its design supports the integrations that OWIN was created to enable.

                                    We’re happy to announce that ServiceStack now supports running on .NET Core where it now can happily co-exist with external frameworks, e.g. you can host ServiceStack + MVC together in the same default route space without being forced to mount ServiceStack at a custom `/api` route.

                                    For more details on ServiceStack’s support and integration with .NET Core please checkout the full release notes: http://docs.servicestack.net/releases/v4.5.2.html


                                    As this feature request was quite contentious I want to leave my closing thoughts on our hesitance to support OWIN:

                                    With .NET Core it’s clear OWIN was the…

                                  • Create Xamarin Components

                                    Create ServiceStack components for the Xamarin Component store.

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

                                      Deciding against creating separate Xamarin components at this time – NuGet packages are more re-usable and easier to manage.

                                      You can add the NuGet Package Manager to Xamarin Studio to make it easier to install NuGet packages, see:
                                      http://barambani.wordpress.com/2013/10/07/add-nuget-package-manager-and-servicestack-to-xamarin-studio-projects-2/

                                      Whilst the PCL ServiceStack clients that support iOS and Android are being maintained on: https://github.com/ServiceStack/Hello

                                    • Add ServiceStack + Dart + WebComponents / Polymer.js example

                                      Add a starter template to make use of the next generation web framework by Google with Dart + WebComponents/Polymer.js https://www.dartlang.org/polymer-dart/

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

                                      Feature Requests

                                      Feedback and Knowledge Base