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. Configurable Webservices Host container

    Have a user configurable host container (maybe developed as an example) that would permit to upload "Servicestack components" and let the admin configure custom routes at runtime, giving a single place where to combine different webservices projects, configure authentication, caching and see performance graphs.

    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 →
  2. Allow Serialization/Deserialization of DTO objects through a Stream for returning unbounded results sets

    following the discussion on the related post (https://plus.google.com/102769881855401822960/posts/FjydVsKJWTT) it would be great to be able to return a result set of DTO objects in a stream (which could be deserialized as they arrived on the client to reduce latency). a custom IEnumerator/IEnumerable result type could be used to hide the specifics of deserializing the objects from the stream.

    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 →
  3. Add ServiceStack + SharePoint example

    Create a starter template showing how to use ServiceStack + SharePoint together.

    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 →
  4. 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 →
  5. 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 →
  6. Support webapi replacement and asp.net integration out of the box

    I know you have a better story for authentication, fresh, clean, no dependency, etc.
    I know you have a better story for authorization, fresh, clean, no dependency, etc.
    I know you have a better story for cache/session - fresh, clean, no dependency, not single threaded, etc.

    However, it can be difficult to replace all that to start with, so servicestack should ship with adapters to use asp.net authentication, authorization, cache/session out of the box

    See prior post.

    https://groups.google.com/forum/#!searchin/servicestack/asp.net/servicestack/w_t9l98v7Cw/kDUr54U5VnwJ

    5 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 Distirbuted Configuration Management

    with distributed services, the configuration is stored on application configuration files, these are hard to maintain in sync and requires application restart to apply changes.

    the distributed configuration manager can take this issue down, and allow configuration changes at runtime on a single place.

    much like the Netflix Archaius library
    https://github.com/Netflix/archaius/wiki/Features

    3 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 →
  8. 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
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  9. High Availability Pattern

    I'm dubious about whether to suggest this, but something that enabled easier high availability for a SS Service would be great. This would maybe be more like a recipe than a feature, but possibly with features to help support it.

    E.g.
    We run a ServiceStack API Service which depends on redis and postgres, each with replication to secondary nodes which are readonly until we manually execute a failover command. Running multiple ServiceStacks on VPSs (or whatever) is easy, but having them co-ordinate is slightly trickier. So the type of thing I'm suggesting would include


    • Digital Ocean recipe for running up…
    4 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 →
  10. Support for response warnings on read-only properties

    Imagine you have large DTOs that are ushared for GET, POST and PUT.

    Some properties might only be used for display purposes, and cannot be updated (i.e. denormalized fields).

    You might also allow the setting of a property on POST, but not on PUT. For example, you might not allow the Id of an object to be set on POST (because it will be the primary key identity insert), but if you want to update it, you can pass it in a PUT:

    We currently are doing this using a custom attribute and interface on the models and model properties.

    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. Support Private Constructors in ServiceStack.Text

    When creating immutable objects, it's common to not have a default constructor. ServiceStack.Text supports this presently with the use of FormatterServices.GetUnitializedObject. However, GetUnitializedObject does not do any field initialization. The DataContractSerializer works around this with support of the OnDeserialized attribute; but why would we want to write the initialization code twice? Instead, We should change ServiceStack.Text to fall back to private constructors. Here is some proposed code.

        public static ConstructorInfo GetEmptyConstructor(this Type type)
    
    {

    if NETFX_CORE

            return type.GetTypeInfo().DeclaredConstructors.FirstOrDefault(c => c.GetParameters().Count() == 0);
    

    else

            var ret = type.GetConstructor(Type.EmptyTypes);
    
    if (ret != null) return ret;

    // attempt to use constructors with all…

    4 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. Web App support for accessing remote ServiceStack services

    Templates has a sendToGateway option. In a Web App it would be good if settings could be provided for the baseUrl for the ServiceStack service which should receive the request.

    0 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. Add support for [References(TYPE)] in NativeTypesFeature

    The NativeTypesFeature is used by ServiceStackVS does a great job of looking at all types exposed by Services. However, it fails to include (or exclude via options) any type only referenced via a "ReferencesAttribute" data annotation. This forces me to either create a complete clone of the type just for automatic client DTO generation, or to create an additional dummy service route that exposes this type.

    Can the NativeTypesFeature be enhanced to also include Reference(TYPE) and/or References(TYPE)?

    0 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 →
  14. OrmLite: Implicit Reference Conventions for string keys

    I'm working with an existing legacy database schema. Many tables have string primary keys. These primary keys are typically named Code rather than Id. Id is reserved for int primary keys.

    The implicit relationships are currently applied for properties ending in Id. It would be nice if this worked for properties ending in Code too (if marked with PrimaryKey attribute).

    E.g.

    q.Join<CustomerType>();
    q.Join<CustomerType,Customer>((cust,type) => cust.CustomerTypeCode == type.Code);

    0 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. Add MQ Fallback on Service Clients for one-way requests

    If a remote remote HTTP Service is unavailable add optional fallback functionality to an MQ endpoint for automated resilience/recovery.

    0 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 →
1 2 3 4 5 6 8 Next →
  • Don't see your idea?

Feature Requests

Categories

Feedback and Knowledge Base