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).
160 results found
-
Allow cookie names to be configurable
In order to improve security it would be beneficial to change cookie names from const to a configurable option. It would help mask the presence of service stack and improve security in accordance with OWASP recommendations - https://www.owasp.org/index.php/Session_Management_Cheat_Sheet#Session_ID_Name_Fingerprinting
7 votes -
Support Calls to .ToString() in SqlExpression Where Clause
This feature is useful when you need to do STRING related operations on NON STRING types like INT.
One use case is when you need to do pattern matching (used in searches) on an INT column. That would be great to be able to just write:
q.Where(x => x.IntColumn.ToString().Contains("123"));
which should generate the following in SQL Server:
WHERE cast(IntColumn as VARCHAR) LIKE '%123%'
Since this feature is not implemented we have to use something like this:
q.Where("cast(IntColumn as VARCHAR) LIKE '%123%'");
Which is not that good because it is not strongly typed. And also for that SqlExpression to work, OrmLiteUtils.IllegalSqlFragmentTokens…
7 votes -
Allow Join with UpdateOnly
Trying to UpdateOnly, when onlyField is typed as SqlExpression and the query has a Join an error will be thrown that says "The multi-part identifier "DepartmentJobCode.DepartmentId" could not be bound."
Example:
var jobsQuery = _db.From<dev.ScheduleEvent>()
.Join<dev.DepartmentJobCode>((se,jc)=> se.Job == jc.JobTitleId)
.Where<dev.DepartmentJobCode>(e => Sql.In(e.DepartmentId, departments))
.Update(x => new { x.Published, x.ModifiedBy});
db.UpdateOnly(new dev.ScheduleEvent { Published = false, ModifiedBy = userId}, onlyFields: jobsQuery);7 votes -
Support for ServiceStack Client in NativeScript applications
I think that ServiceStack TypeScript client does not work in NativeScript + Angular2 applications, as I am getting a bunch of weird errors when trying that (in Fetch module).
I installed the module as this:
npm install --save @servicestack/clientIs there support for the TypeScript client in NativeScript applications? If not, Id like there to be =)
7 votes -
1. HATEOAS (RDF/Semantic web support for entities), 2. ASP-Net Indentity Authentication Integration (http://www.asp.net/identity/)
I've read somewhere where you don't see the need for hateoas support Demis, but I'd encourage you to revisit the subject... RDF semantic web is growing (ie RDFa), so at least support for applying sematic attributes to each object could be helpful (ie FOAF, Dublin Core, etc.)
7 votes -
Support Upsert with MySQL
AWS Charges by the IOp, not supporting UPSERT effectively doubles the cost (and reduces the performance) of running mysql/mariadb on that platform with the SELECT/INSERT behavior of OrmLite
7 votes -
CRUD operations for inherited objects
Being able to CRUD operations for inherited objects. It's would be cool!
Adding OrmLite support (full CRUD) for object like this:
[Alias("base_table")]
public class BaseObject
{
[AutoIncrement]
[Alias("_id")]
public int Id { get; set; }[Alias("_name")] [StringLength(250)] public string Name { get; set; }
}
[Alias("apply_table")]
public class ApplyObject : BaseObject
{
[Alias("someproperty1")]
[StringLength(250)]
public string SomeProperty1 { get; set; }
}6 votes -
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 -
IPocoDynamo Transaction Support
1h
https://aws.amazon.com/blogs/aws/new-amazon-dynamodb-transactions/Add Transactions to IPocoDynamo
6 votes -
OrmLite - per property Unicode strings
I'm working with SQL Server tables that have a mixture of VARCHAR and NVARCHAR columns. Unless I'm mistaken OrmLite currently only supports enabling Unicode strings globally for a given connection. To workaround this constraint I've defined an additional named connection which is configured to UseUnicode, on a service-by-service basis I'm enabling the named connection using the ConnectionInfo attribute. However this means I have to be careful to ensure any db statements don't end up mixing VARCHAR and NVARCHARs - to avoid performance issues with suboptimal index usage.
It would be helpful it properties on the data model could be annotated…
6 votes -
PocoDynamo - Support Distributed Locks
The Redis client supports distributed locks, which is a really useful feature, the same is possible using DynamoDB.
Reference Implementation:
https://github.com/awslabs/dynamodb-lock-client6 votes -
Async PostFileWithRequest
Please add overload for PostFileWithRequest which is asynchronous in the same way SendAsync is implemented in ServiceClientBase - meaning an overload which accepts success/error Actions and the other which returns Task, or if both are not possible then just the latter.
This is mainly because in Silverlight sync APIs are not "welcome" which means we have to 'manually' call this API in an async manner.
Thanks!
6 votes -
ADOMD.net Orm provider addition and would work with AutoQuery
ADOMD.net Cubes as a source of data. I think this would be huge in adding a provider to the mix and utilize Analysis Service cubes to return faster data/query's for warehouse service use.
6 votes -
Port AspNetWindowsAuthentication To .Net Core
At present, the AspNetWindowsAuthentication is not supported in .NET Core. ASP.NET Core does allow for Windows Authentication (through IIS reverse proxy), so it would be great to have support for this in ServiceStack.
I made an attempt at porting it myself, and it kind of works, though I'm sure I'm missing some subtleties on how it works, as I sometimes get "header already set" errors on some requests. In case this never gets picked up, here's a gist of my attempt:
https://gist.github.com/darkonejr/7bcdcf7aea9fee7d21329fd58de5d43d
6 votes -
Support Changing ViewPages directory
Support Allowing Custom ViewPages directory
Right now the convention of using a folder in root works great for the general case (We've been on service stack razor for at least a year). With that said we hit the point that we need to move the views into a subfolder to easier support a part of the subcontrol strategy.Would love to have the convention be default and a easy way to change the base folder for vies on the apphost configure method.
6 votes -
Appsettings with wildchar get Api
Possibility to get all the keys via wildchar ...For example retrieve all the items that starts with "widget:" and store them in a dictionary <string, T>
6 votes -
Provide an option in Save References to delete missing References
e.g:
db.Save(poco, references: true, deleteMissing: true);
from: https://forums.servicestack.net/t/ormlite-graph-update/1395
6 votes -
Update Java ServiceClient to use Route's when possible
Look at adopting approach for custom impl at:
https://github.com/ServiceStack/ServiceStack.Java/issues/205 votes -
Allow the NativeTypes clients to support the standard .Net format for TimeSpan
When setting the TimeSpanHandler to use TimeSpanHandler.StandardFormat the NativeType clients are not able to deserialize TimeSpans because they are expecting the format to be XSD duration.
5 votes -
Support for new ACL feature of redis
redis 6.0.6 supports ACL. ACL is powerfull and secure, which user can write, which user can only read. What wildcard keys can be read...
Current version of ServiceStack allows password but not a specified username.
AUTH password -> AUTH username password5 votes
- Don't see your idea?