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).
133 results found
-
Provide Async Support For Redis Client
Currently redis client is not async - this is wasting valuable resources on the server side. As far as I understand async support is currently only there for service clients and not redis
145 votesAsync support for Redis is now available in v5.10 Release. Min requirements .NET Core 2.1+ / .NET Framework v4.72+
-
Async CredentialsAuthProvider
An AsyncCredentialsAuthProvider would allow us to authenticate users asynchronously (query a database, calculate hashes, etc). Right now when extending the CredentialsAuthProvider, we are limited to do everything synchronously in the TryAuthenticate method which can lead to thread starvation.
13 votesThis has now been implemented as part of the major async upgrade in v5.10 release:
-
An example of a servicestack service supporting oAuth 2.0 authorization
Although oAuth 2.0 is supported by ServiceStack with its AuthN providers, the assumption the current model makes is that clients wishing to access the service will first authenticate through the SS service (by calling the Auth endpoint). This AuthN then caches the users identity in the session of the SS service, and uses it to verify AuthN for subsequent calls. AuthZ is then provided with the users identity fetched from session cache.
However, in more distributed models AuthN may be handled outside of the SS service, by other services, perhaps from the client directly and users identity stored elsewhere. But…
12 votesThe new Android Java Chat includes a detailed walkthrough showing how to use Facebook, Twitter and Google’s Native SDK’s to Authenticate using Access Tokens directly:
-
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
-
Add message-level encryption
Add the ability to specify message-level encryption on all client/server requests. Allow custom selection of encryption techniques (RSA, AES, etc.) for each direction, and the initialization vectors. Server-side I can see doing this via plug-ins and / or attributes.
Create a subset of client libraries that handle encryption, perhaps using function pointers to encrypt / decrypt.
Its been suggested previously by Demois on different forums.
http://stackoverflow.com/questions/16098839/encrypting-messages-over-servicestack
http://www.linkedin.com/groups/Service-Stack-versus-ASP-NET-1779887.S.107976247
22 votesEncrypted Messaging was added in v4.0.42: https://github.com/ServiceStack/ServiceStack/wiki/Encrypted-Messaging
-
Add MQ Server support for Azure Service Bus
Add a MQ Server for Azure Service Bus that implements ServiceStack's Messaging API: https://github.com/ServiceStack/ServiceStack/wiki/Messaging
166 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
-
Add MQ Server Support for Amazon SQS
Add a MQ Server for Amazon SQS that implements ServiceStack's Messaging API: https://github.com/ServiceStack/ServiceStack/wiki/Messaging
8 votesThis is now available in the new SqsMqServer MQ server that was shipped in ServiceStack.Aws package in v4.0.48: https://github.com/ServiceStack/ServiceStack/blob/master/docs/2015/release-notes.md#servicestackaws
-
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 -
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
-
Add async API's for caching
Provide async overloads for caching API so async operations can construct the cache.
More info:
http://stackoverflow.com/questions/20505186/servicestack-v4-server-side-async37 votesThis has now been implemented as part of the major async upgrade in v5.10 release:
-
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/ -
AFNetworking and OkHttp
Potential speed increase for the Xamarin.iOS and Xamarin.Android ServiceStack clients? See here: https://github.com/paulcbetts/ModernHttpClient
3 votesNow supported with the new HttpClient-based JsonHttpClient in v4.0.42: https://github.com/ServiceStack/ServiceStack/blob/master/docs/2015/release-notes.md#new-jsonhttpclient
-
26 votes
we’re now manually tagging and publishing releases using GitHub releases: https://github.com/ServiceStack/ServiceStack/releases
-
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
-
Profile major aspects to ensure speed
One of the most enticing aspects about ServiceStack is that it is incredibly fast. I suggest that all major aspects of SS (web services, text, ormlite) get thoroughly tested in the upcoming versions just to make sure the code base is as fast as it could be.
3 votesv4.5.6 was a perf-focused release: http://docs.servicestack.net/releases/v4.5.6#performance-improvements
The benchmarks framework used to measure ServiceStack performance is at: https://github.com/NetCoreApps/Benchmarking
-
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 -
Refactor to use HttpRequestBase and HttpResponseBase
Much of the existing code implements IHttpRequest and IHttpResponse interfaces and writes complete code for implementing these. That was necessary before the redesign in 4.5 implemented mockable versions of the non-inheritable old HttpResponse classes.
I think it can reduce the amount of code in SS and enable use to not need to use global items like HttpContext.Current.Request which results in - non-testable controllers.
The change to help the above situation I implemented grew out of scope, but thought it worthwhile to explore for a later version.
1 voteServiceStack’s ASP.NET wrapper classes now depend on HttpContextBase, HttpRequestBase and HttpResponseBase.
Details on latest v4 update:
https://plus.google.com/106787359118990653189/posts/KoUyRbmYoPJ -
Refactor IReturn to allow portable DTOs
http://stackoverflow.com/questions/12700702/servicestack-ireturn
"In the case where you define your DTOs in a portable class library, you won't be able to use IReturn or the NewApi. Perhaps IReturn should be defined in a PCL in ServiceStack. Just a thought."
8 votesPCL Support was added in v4.06, example project at: https://github.com/ServiceStack/Hello
-
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
- Don't see your idea?