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).
-
Alternative to WCF Duplex Communications
I'd like to see an alternative to WCF Duplex Communications.
This is somewhat related to http://servicestack.uservoice.com/forums/176786-feature-requests/suggestions/4458942-add-fast-tcp-endpoint (Add fast TCP endpoint), as the duplex comms should use the same connection.
We use this for "playing nice" with firewalls (make connection out, poll in on same connection).
16 votesServer Stream gRPC Services provides the best alternative for establishing a persistent HTTP/2 channel which has a dedicated channel for servers to push data upstream to clients:
https://docs.servicestack.net/grpc#server-stream-grpc-services
-
OrmLiteWriteConnectionExtensions.Save should populate GUIDs
The Save method will populate the inserted PK value if the PK is an integer with [AutoIncrement].
It would be useful to also have this method use the database's internal GUID generator (which creates sequential GUIDs) and thus populate back into the object a GUID generated in the db.
By default, database's will create a clustered index on the PK field, if the GUIDs are not sequential and the column has a clustered index on it, then performance will suffer.
9 votesYou can use [AutoId] to auto populate Guid’s. Uses native RDBMS if it supports it otherwise OrmLite populates it.
https://github.com/ServiceStack/ServiceStack.OrmLite#auto-populated-guid-ids
-
Add an overload of PostFileWithRequest which accepts progress callback
PostFileWithRequest works great, but user experience isn't great when this method is used to post large files (20+MB or even smaller files over a slow connection) to the server because there's no callback for progress notification.
Additionally, this method isn't async in SL5 builds, but we can work around this. We can't work around missing progress callback though.
Looking at the implementation of this method, this should be fairly easy to do. I will most likely submit a pull request with the implementation over the weekend.
1 vote -
Would love a SQL Server Cache Client
We're an all MSFT shop, not much opportunity to use Memcache or Redis. A SQL Server Cache Client would be very useful.
1 voteNow available in new OrmLiteCacheClient added in v4.0.12: https://github.com/ServiceStack/ServiceStack/wiki/Release-Notes#wiki-added-new-ormlitecacheclient
-
Allow OrmLite to store complex blobs as JSON
Change how OrmLite stores complex type properties so they can be stored in formats other than JSV like JSON.
56 votesSupport for pluggable complex type serialization was added in v4.0.11, see:
https://github.com/ServiceStack/ServiceStack/wiki/Release-Notes#wiki-v4011-release-notes -
Portable Class Library for Xamarin Clients - Xamarin Component Store
Xamarin support IOS/Android/Windows Store/Windows Phone. A universal Service Stack client written using PCL would simplify code reuse. The code could be packaged up into a Xamarin Component Store download if necessary. Or be used in conjunction with MvvmCross for use in MVVM style coding and/or unit testing.
35 votesWe’ve added PCL support for Android and iOS in NuGet packages, see this tutorial for using ServiceStack’s PCL libraries in Xamarin projects:
https://github.com/ServiceStack/HelloSee this guide for adding NuGet support to Xamarin Studio to be able to easily reference NuGet packages:
http://barambani.wordpress.com/2013/10/07/add-nuget-package-manager-and-servicestack-to-xamarin-studio-projects-2/ -
Add ETag / If-None-Match support to enable client-side caching
This would be very nice to have, in both the ServiceStack client AND server. The server part would be preferred, obviously :)
108 votesServiceStack’s HTTP Caching story has been greatly improved in v4.0.56 which transparently improves the behavior of existing ToOptimized Cached Responses, provides a typed API to to opt-in to HTTP Client features, introduces a simpler declarative API for enabling both Server and Client Caching of Services and also includes Cache-aware clients that are able to improve the performance and robustness of all existing .NET Service Clients – functionality that’s especially valuable to bandwidth-constrained Xamarin.iOS / Xamarin.Android clients offering improved performance and greater resilience.
For more details please refer to the v4.0.56 Release Notes: https://github.com/ServiceStack/ServiceStack/blob/master/docs/2016/v4.0.56.md#http-caching
-
Enhance OrmLite with common data usage patterns
Add better support for Joins and fetching related records.
100 votesSupport for AutoQuery has been added in v4.0.23 which enables instant querying support on RDBMS tables behind clean self-describing APIs, full docs for AutoQuery is available at:
https://github.com/ServiceStack/ServiceStack/wiki/Auto-QuerySupport for joins have been added to typed SqlExpressions in v4.0.22:
https://github.com/ServiceStack/ServiceStack/blob/master/release-notes.md#typed-sql-expressions-now-support-joins
Going to mark off this broad feature as completed as we’ve just completed what we set out to do for this. Please open up new feature requests for more specific features.
Thanks!
-
Add more MQ options
Add more MQ Adapters, e.g: Rabbit MQ, Amazon SQS, Azure Service Bus, ZeroMQ/nanomsg.
70 votesSupport for Azure ServiceBus was added in v4.5.14 in new ServiceStack.Azure NuGet package:
http://docs.servicestack.net/releases/v4.5.14#servicestackazure
Please create separate Feature Requests for other MQ brokers.
-
26 votes
we’re now manually tagging and publishing releases using GitHub releases: https://github.com/ServiceStack/ServiceStack/releases
-
Research optimal deployment strategies for hosting on Mono/Linux
Research optimal deployment strategies for hosting ServiceStack on Linux (e.g. nginx FastCGI/ nginx + reverse proxy / self-hosting inside linux daemon) with the best performance, that best supports CI deployment with no downtime, auto restart/recovery when Mono process dies.
105 votesWe’ve published our recommended Setup for hosting ASP .NET sites on Linux and Mono is to use nginx/HyperFastCgi. We’ve published a step-by-step guide going through creating an Ubuntu VM from scratch complete with deploy / install / conf / init scripts at [mono-server-config]1.
As well as a guide for hosting ServiceStack with Mono on Docker at: https://github.com/ServiceStackApps/mono-docker-config
Although hosting on Mono is only a Stop Gap as the future and supported option for running .NET on Linux is CoreCLR which will be a priority for us to look at supporting as soon as it’s released. You can vote for the feature request to keep updated on progress: https://servicestack.uservoice.com/forums/176786-feature-requests/suggestions/10286952-support-dnx
-
74 votes
Added in v4.06. See PCL examples for different client platforms at:
https://github.com/ServiceStack/Hellov4.06 Release notes at:
https://github.com/ServiceStack/ServiceStack/wiki/Release-Notes -
Server-side Async support
Change ServiceStack to be based on IHttpAsyncHandler so services have the option to be non-blocking by returning a Task<T>.
75 votesThis has now been done, details on latest v4 update:
https://plus.google.com/106787359118990653189/posts/KoUyRbmYoPJ -
Improve support for Xamarin iOS/Android clients
Provide better support and testing around Android/iOS builds. iOS's AOT restrictions would likely require code-gen to minimize NoJIT errors.
62 votesAndroid and iOS PCL client support added in v4.06. See PCL examples for different client platforms at:
https://github.com/ServiceStack/Hellov4.06 Release notes at:
https://github.com/ServiceStack/ServiceStack/wiki/Release-Notes -
Add first-class support for Amazon
Add first-class integration for hosting on Amazon cloud services (like MS does with Azure), e.g. adapters for Amazon cloud services, docs on automated deployment/hosting strategies.
40 votesWe’ve just released our AWS support in v4.0.48: https://github.com/ServiceStack/ServiceStack/blob/master/docs/2015/release-notes.md#servicestackaws
We’ll continue to expand support for AWS in future, please file separate feature requests for other support for AWS you’d like to see.
-
Add ServiceStack + AngularJS/Yeoman/GruntJS example
Add a starter template showing how to get started with a Single Page App with AngularJS + Yeoman + GruntJS working together.
38 votesWe’ve added a new AngularJS optimized Single Page template with integrated npm and Gulp support at: https://github.com/ServiceStack/ServiceStackVS/blob/master/docs/angular-spa.md
-
Add optional Strong-named NuGet packages
Add optional Strong-named Server and Client NuGet packages so they can be added in the GAC and used inside Enterprise products requiring signed dlls.
12 votes -
Extend the api to allow Reverse Routing
An option would be to open the access to Routes.
This would allow to separate the concerns of application workflow in services (describing next operations if required) from route resolution (which could be done in a filter or in the appconfig).13 votes -
Refactor NuGet packages
Change NuGet packages so they map 1:1 with ServiceStack projects. So 'Install-Package ServiceStack' doesn't bring in OrmLite and Redis automatically, and we can 'Install-Package ServiceStack.Interfaces' to bring in the minimum dependencies DTO's need.
20 votesThe NuGet packages have been refactored in v4 which has the following deps:
ServiceStack.Common
– ServiceStack.Text
– ServiceStack.InterfacesServiceStack.Client
– ServiceStack.Text
– ServiceStack.InterfacesServiceStack
– ServiceStack.Common
– ServiceStack.ClientServiceStack.Server
– ServiceStack
– ServiceStack.Redis
– ServiceStack.OrmLite -
Add more Razor @helper functions support
Support to use @helper not only to call functions in an external assembly (which I think is already supported by SS), but also to call helper functions inside very the same .cshtml template like describied in this link:http://stackoverflow.com/questions/6531983/how-to-create-a-function-in-a-cshtml-template
5 votesApologies for the delayed notification, this was added over a year ago, here’s an example: https://github.com/ServiceStack/ServiceStack/blob/master/tests/RazorRockstars.Web/Helper.cshtml
- Don't see your idea?