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
-
Add TypeScript reference for WebStorm
ServiceStack already has a plugin for IntelliJ Idea to generate typed requests, and for Visual Studio to generate TypeScript models. It would be nice to combine both of them in a WebStorm support for TypeScript models generation from a ServiceStack service.
1 vote -
pagination bug mssql
We have a view:
CREATE VIEW StockInformation AS SELECT dbo.Product.Code AS ItemCode, dbo.Warehouse.Code AS WarehouseCode, dbo.StockIndicator.Code AS StockIndicatorCode, dbo.Stock.StockOnShelve, dbo.Stock.StockAvailable,
dbo.Stock.StockPurchaseBackorder, dbo.Stock.StockFirstPurchaseDeliveryDate
FROM dbo.Stock INNER JOIN
dbo.Warehouse ON dbo.Stock.WarehouseID = dbo.Warehouse.WarehouseID INNER JOIN
dbo.StockIndicator ON dbo.Stock.StockIndicatorID = dbo.StockIndicator.StockIndicatorID RIGHT OUTER JOIN
dbo.Product ON dbo.Stock.ProductID = dbo.Product.ProductIDand the following query:
var stocks = con.Select<StockInformation>(con.From<StockInformation>().OrderBy(x=> x.ItemCode).Limit(pageSize * pageNumber, pageSize));
The first page results into query:
SELECT TOP [pageSize] ... FROM StockInformation.
The second query looks like this:
SELECT * FROM (SELECT "ItemCode", "WarehouseCode", "StockIndicatorCode", "StockOnShelve", "StockAvailable", "StockPurchaseBackorder", "StockFirstPurchaseDeliveryDate", ROW_NUMBER() OVER (ORDER BY "StockInformation"."ItemCode") As RowNum
FROM "StockInformation") AS RowConstrainedResult WHERE RowNum…0 votesIf you have MSSQL 2012+ you can use `SqlServer2012Dialect.Provider` and it will use a more optimal paging query.
Please submit any bugs/issues to our issue tracker instead:
-
Android Java Server Events Client
With Service Stack you can create very good backend, it would be nice to use all functions that it provides of Android, without Xamarin because Android is the most popular platform for mobile devices.
For a complete happiness is not enough to us now server events so we do request every 5 seconds to check for data.
Please make the ability to use server events on Android.
Thanks!
9 votesSupport for Java Server Events Client has been added in v4.5.8: http://docs.servicestack.net/releases/v4.5.8#java-server-events
Documentation is available at: http://docs.servicestack.net/java-server-events-client
An Android Java Chat App that makes use of Java Server Events is available at:
https://github.com/ServiceStackApps/AndroidJavaChat/ -
new feature in c# add service stack reference
I'd like the possibility to specify if types (all or specific ones) should be generated as internal and not as public
such as
InternalTypes: ... list of typesoften I get collision among types that are in a shared library , but that do "leak" through a service request / response DTO .
1 voteWe’ve just added support for this with the new “MakeInternal” option in C# Add ServiceStack Reference that’s available from v4.0.61 that’s now available on MyGet: https://github.com/ServiceStack/ServiceStack/wiki/MyGet
-
Create Auto Crud
Take a project like http://www.mattjcowan.com/funcoding/2013/05/11/restful-api-and-ui-for-typed-views-and-typed-lists/
and lift it to the next level.
Purpose: Point ActiveScaffold with AutoCrud to your database, and you get a half sensible CRUD web interface to maintain it. In other words, an instant backoffice.
This is orthogonal to any other API usage of ServiceStack.Inspired by the Rails equivalent "https://github.com/activescaffold/active_scaffold" that is very nicely designed, with both configuration and override possibilities.
22 votesOur Auto CRUD and “Auto Scaffolding” was added in v5.9
https://docs.servicestack.net/releases/v5.9
AutoGen is our “Auto Scaffolding” solution:
https://docs.servicestack.net/servicify -
Typescript and C# Enums: option for string literal types
We already proposed https://servicestack.uservoice.com/forums/176786-feature-requests/suggestions/10105086-add-support-for-non-ambient-typescript-module-gene
We are using this and it works well, but unfortunately there is one issue: enums!
We serialize the enums as strings and not integers.
In typescript world this all works fine, the enums are in the generated DTO's and the compiler is happy. But on the wire there is the Enum as a string instead of an integer which typescript can't map back to the typed dto. so all my typescript code doesn't work anymore.
We end up doing:
myAnimal.AnimalType.ToString() === dtos.AnimalType[dtos.AnimalType.Rabbit]
which is working but doesn't feel "right". From a typescript point of view we…
30 votesWe’ve added support for emitting string literal types for string enums in v4.0.62: https://github.com/ServiceStack/ServiceStack/blob/master/docs/2016/v4.0.62.md#enum-support
-
ServiceStack.Razor Reference is System.Web.Razor, Version=2.0.0.0, It is older version
ServiceStack.Razor
<Reference Include="System.Web.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> <HintPath>..\..\lib\System.Web.Razor.dll</HintPath> </Reference>
replace to(use newest lib):
<Reference Include="System.Web.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>....\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll</HintPath>
<Private>True</Private>
</Reference>1 voteWe’re now referencing the official System.Web.Razor package from v4.5.0
-
AngularJS support angular2
/**
• @license AngularJS v1.2.20
•(c) 2010-2014 Google, Inc. http://angularjs.org
•License: MIT */The version of AngularJS is too slow~
26 votesWe’ve released an Angular 2 SPA template in v4.0.46: http://docs.servicestack.net/releases/v4.5.6
-
Support Kestrel as a hosting provider
The KestrelHTTPServer is built on the cross-platform libuv library.
While some of the elements in Kestrel may conflict with ServiceStack's implementations (different DI, request / response filters), the overall goals are in alignment, and would bring a powerful new hosting option for ServiceStack.
17 votesServiceStack’s .NET Core support (which runs on Kestrel) was released in v4.5.2: http://docs.servicestack.net/releases/v4.5.2
-
Extend CacheResponse feature with a VaryByRoles option
A number of our services have responses that vary by the set of roles a user is associated with. It would be more memory efficient if we could cache by roles rather than by user for these services.
3 votesI’ve added support for VaryByRoles in this commit: https://github.com/ServiceStack/ServiceStack/commit/bbd3eda601b4a373d81bbed593bc2b743dbcf6f6
You need to be explicit in which roles the cache should be varied by, e.g:
[CacheResponse(Duration = 60, VaryByRoles = new[] { “RoleA”, “RoleB” })]
Where there will be separate caches created for Users in “RoleA” vs “RoleB” vs No Role/UnAuthenticated Users.
This is available from v4.0.55 that’s now on MyGet
-
Add Servicestack + Aurelia template
Add a starter template for servicestack and aurelia. After what I've read, Aurelia and ServiceStack seems to have a lot in common. Like conventions over configuration. It's easy to test, customize and extend.
30 votesAurelia Template was released in v4.0.58: https://github.com/ServiceStack/ServiceStackVS/blob/master/docs/aurelia.md
-
Why 'Fmt'?
Why don't you use plain 'Format' instead?
1 vote‘fmt’ is a widely used abbreviation to mean format, as this is something that can used a lot we prefer its most abbreviated form to reduce the noise. If you prefer a longer name you can use the equivalent `.FormatWith()` extension method however both these APIs are effectively deprecated with C# 6’s new string interpolation.
Please ask questions in Customer Forums or StackOverflow: https://forums.servicestack.net
-
PocoDynamo - Support Generic Types
We're interested in purchasing licenses for ServiceStack. Particularly, we're interested in using the ServiceStack.Aws component. However, while evaluating it, we noticed that the PocoDynamo implementation fails to support generic types.
Currently, if a table is registered using a generic type (i.e. db.RegisterTable<GenericPoco<Poco>()) , it fails because the name used for the table does not abide by DynamoDB's rules for Table Name.
I have local modifications of the ServiceStack.Aws source that allows for generic types definitions to be registered, including tests showing it working. I can submit this code to somebody on your team if you like.
1 voteThis PR was merged, thx!
-
Self Host Response Compression
Add built-in response compression for Self Hosted applications.
As per https://forums.servicestack.net/t/http-response-compression-with-self-hosted/2098/4, there is only one way to enable compression on a Self Hosted SS application, add a http proxy like nginx (beta on Windows) in-front of SS.
This is not ideal as it increases the complexity of deployments and maintenance.
11 votesMultiple compression options are available from v4.5.8 including Client/Server Request Compression, new [CompressResponse] attribute to compress individual Service responses as well file compression for static files:
http://docs.servicestack.net/releases/v4.5.8#enhanced-compression-options
-
Java Client: Add all fields on @ApiMember annotation to prevent compilation errors
For example if the API definitions has ExcludeInSchema set, the autogenerated DTOs do not compile due to unrecognized field on the annotation.
3 votesThese missing Attributes were added some time ago
-
6 votes
Support for this should’ve been added in v4.0.52, see: https://github.com/ServiceStack/ServiceStack/blob/master/docs/2016/release-notes.md#integrated-basic-auth
-
Add basic/digest authentication to AndroidServiceClient
Add built-in basic/digest authentication to the android JsonServiceClient/AndroidServiceClient
3 votesSupport for BasicAuth was added in 1.0.23 in this commit: https://github.com/ServiceStack/ServiceStack.Java/commit/80d0597f5dafa8f462fa86c2c78bfcfeeb4133d5
It uses the same API’s as the .NET ServiceClient, e.g client.setCredentials() and client.setAlwaysSendBasicAuthHeaders(true) if you always want the BasicAuth headers sent.
-
WebServiceException ToString Overrride
Hi, currently WebServiceException does not override to string , so that the base ToString() implementation which returns quite "unusefull" info
I suggest to override the ToString method of WebServiceException
to add info such as errorCode, errorMessage, StatusCode, .Responsestatus.Errors .. etc ..That would turn usefull, expecially when logging, since most logging mechanism dump the ex.ToString() ..
1 vote`WebServiceException.ToString()` was customized in this commit: https://github.com/ServiceStack/ServiceStack/commit/ee309c6c38c873cb11ee176aff59362ba19c8fcb
This change is available from v4.0.51 that’s now available on MyGet.
-
Change ServiceStackVS templates to Gulp
Gulp has got much better friction in the community than Grunt and many people already moved to Gulp completely. ServiceStack SPA templates use Grunt and leverage Gulp packages via grunt-gulp, which seems to be articifial. Wouldn't it be easier just to remove Grunt at all and make everything with Gulp instead?
12 votesAll Single Page App Templates have now been modernized in the latest v1.0.22 update:
https://github.com/ServiceStack/ServiceStack/blob/master/docs/2016/servicestackvs/v1.0.22.mdThey now use Gulp and JSPM and both React Templates are now pre-configured with TypeScript
-
support dnx.
I want to program ported to Linux. but current version servicestack not support dnx ( core clr )
464 votesWe’re super excited to announce ServiceStack is now running on .NET Core!
Nearly all of ServiceStack’s features are now available across 21 of our most popular NuGet packages, inc. OrmLite support for SQL Server, PostgreSQL and Sqlite. We’ve been able to achieve excellent integration and code-reuse where your ServiceStack AppHost can be registered as a .NET Core module and most of your Service Implementation using ServiceStack libraries remains unchanged.
We’ve ported a number of existing Live Demos to .NET Core providing example projects so you can easily compare .NET 4.5 ServiceStack code-bases with what it looks like in .NET Core at:
https://github.com/NetCoreApps/LiveDemosAll .NET Core Live Demos are running on Linux / Docker using AWS ECS Container Service.
We’re maintaining .NET Core packages isolated from the Main NuGet packages separated with a `.Core` suffix until we’re satisfied .NET Core has been battle-tested…
- Don't see your idea?