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

    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 →
  2. 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 →
  3. 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 →
  4. 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 →
  5. 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 →
  6. 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