Does ServiceStack Cache Internal Requests?
If I use the .ToOptimizedResult (documented here) from a "bare" request like so:
var svc = new MyService();
var svcResul = svc.Any(new requestDTO() {..});
Will the performance of svcResult benefit from caching, or must it be called from Http/Messaging/Client ?
Note: app is actually running a servicestack container.. but caller above is not invoked from inside a service.
caching servicestack
add a comment |
If I use the .ToOptimizedResult (documented here) from a "bare" request like so:
var svc = new MyService();
var svcResul = svc.Any(new requestDTO() {..});
Will the performance of svcResult benefit from caching, or must it be called from Http/Messaging/Client ?
Note: app is actually running a servicestack container.. but caller above is not invoked from inside a service.
caching servicestack
add a comment |
If I use the .ToOptimizedResult (documented here) from a "bare" request like so:
var svc = new MyService();
var svcResul = svc.Any(new requestDTO() {..});
Will the performance of svcResult benefit from caching, or must it be called from Http/Messaging/Client ?
Note: app is actually running a servicestack container.. but caller above is not invoked from inside a service.
caching servicestack
If I use the .ToOptimizedResult (documented here) from a "bare" request like so:
var svc = new MyService();
var svcResul = svc.Any(new requestDTO() {..});
Will the performance of svcResult benefit from caching, or must it be called from Http/Messaging/Client ?
Note: app is actually running a servicestack container.. but caller above is not invoked from inside a service.
caching servicestack
caching servicestack
asked Nov 16 '18 at 11:35
kevinckevinc
367211
367211
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
ServiceStack doesn't do any Request Caching by default, you have to opt-in to Caching using one of the caching strategies.
You shouldn't use ToOptimizedResult()
in Services that you wish to call directly, for cached Requests it returns a serialized compressed byte
result which isn't accessible as a Typed Response DTO from C# API.
For caching Services that you want to call via C# you can use the CacheResponse Attribute instead.
Calling Other Services
Note: The recommended way to call other Services is to use the Service Gateway, e.g:
var result = Gateway.Send(new RequestDto());
If you want to call the C# method on the Service directly you should use ResolveService
to resolve an autowired Service and call the method within a using statement, e.g:
using (var service = base.ResolveService<MyService>())
{
var result = service.Any(new RequestDto());
}
thanks so much. One additional question, here docs.servicestack.net/cacheresponse-attribute it says the non-base url is the cache key - does this apply non non-http callers (does it serialize the request dto for the key, effectively?)
– kevinc
Nov 16 '18 at 21:26
@kevinc Caching and compression is only added for HTTP requests, I.e. for MQ or internal Service requests it’s executed without caching.
– mythz
Nov 20 '18 at 7:00
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53337073%2fdoes-servicestack-cache-internal-requests%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
ServiceStack doesn't do any Request Caching by default, you have to opt-in to Caching using one of the caching strategies.
You shouldn't use ToOptimizedResult()
in Services that you wish to call directly, for cached Requests it returns a serialized compressed byte
result which isn't accessible as a Typed Response DTO from C# API.
For caching Services that you want to call via C# you can use the CacheResponse Attribute instead.
Calling Other Services
Note: The recommended way to call other Services is to use the Service Gateway, e.g:
var result = Gateway.Send(new RequestDto());
If you want to call the C# method on the Service directly you should use ResolveService
to resolve an autowired Service and call the method within a using statement, e.g:
using (var service = base.ResolveService<MyService>())
{
var result = service.Any(new RequestDto());
}
thanks so much. One additional question, here docs.servicestack.net/cacheresponse-attribute it says the non-base url is the cache key - does this apply non non-http callers (does it serialize the request dto for the key, effectively?)
– kevinc
Nov 16 '18 at 21:26
@kevinc Caching and compression is only added for HTTP requests, I.e. for MQ or internal Service requests it’s executed without caching.
– mythz
Nov 20 '18 at 7:00
add a comment |
ServiceStack doesn't do any Request Caching by default, you have to opt-in to Caching using one of the caching strategies.
You shouldn't use ToOptimizedResult()
in Services that you wish to call directly, for cached Requests it returns a serialized compressed byte
result which isn't accessible as a Typed Response DTO from C# API.
For caching Services that you want to call via C# you can use the CacheResponse Attribute instead.
Calling Other Services
Note: The recommended way to call other Services is to use the Service Gateway, e.g:
var result = Gateway.Send(new RequestDto());
If you want to call the C# method on the Service directly you should use ResolveService
to resolve an autowired Service and call the method within a using statement, e.g:
using (var service = base.ResolveService<MyService>())
{
var result = service.Any(new RequestDto());
}
thanks so much. One additional question, here docs.servicestack.net/cacheresponse-attribute it says the non-base url is the cache key - does this apply non non-http callers (does it serialize the request dto for the key, effectively?)
– kevinc
Nov 16 '18 at 21:26
@kevinc Caching and compression is only added for HTTP requests, I.e. for MQ or internal Service requests it’s executed without caching.
– mythz
Nov 20 '18 at 7:00
add a comment |
ServiceStack doesn't do any Request Caching by default, you have to opt-in to Caching using one of the caching strategies.
You shouldn't use ToOptimizedResult()
in Services that you wish to call directly, for cached Requests it returns a serialized compressed byte
result which isn't accessible as a Typed Response DTO from C# API.
For caching Services that you want to call via C# you can use the CacheResponse Attribute instead.
Calling Other Services
Note: The recommended way to call other Services is to use the Service Gateway, e.g:
var result = Gateway.Send(new RequestDto());
If you want to call the C# method on the Service directly you should use ResolveService
to resolve an autowired Service and call the method within a using statement, e.g:
using (var service = base.ResolveService<MyService>())
{
var result = service.Any(new RequestDto());
}
ServiceStack doesn't do any Request Caching by default, you have to opt-in to Caching using one of the caching strategies.
You shouldn't use ToOptimizedResult()
in Services that you wish to call directly, for cached Requests it returns a serialized compressed byte
result which isn't accessible as a Typed Response DTO from C# API.
For caching Services that you want to call via C# you can use the CacheResponse Attribute instead.
Calling Other Services
Note: The recommended way to call other Services is to use the Service Gateway, e.g:
var result = Gateway.Send(new RequestDto());
If you want to call the C# method on the Service directly you should use ResolveService
to resolve an autowired Service and call the method within a using statement, e.g:
using (var service = base.ResolveService<MyService>())
{
var result = service.Any(new RequestDto());
}
edited Nov 16 '18 at 12:58
answered Nov 16 '18 at 12:23
mythzmythz
118k14196334
118k14196334
thanks so much. One additional question, here docs.servicestack.net/cacheresponse-attribute it says the non-base url is the cache key - does this apply non non-http callers (does it serialize the request dto for the key, effectively?)
– kevinc
Nov 16 '18 at 21:26
@kevinc Caching and compression is only added for HTTP requests, I.e. for MQ or internal Service requests it’s executed without caching.
– mythz
Nov 20 '18 at 7:00
add a comment |
thanks so much. One additional question, here docs.servicestack.net/cacheresponse-attribute it says the non-base url is the cache key - does this apply non non-http callers (does it serialize the request dto for the key, effectively?)
– kevinc
Nov 16 '18 at 21:26
@kevinc Caching and compression is only added for HTTP requests, I.e. for MQ or internal Service requests it’s executed without caching.
– mythz
Nov 20 '18 at 7:00
thanks so much. One additional question, here docs.servicestack.net/cacheresponse-attribute it says the non-base url is the cache key - does this apply non non-http callers (does it serialize the request dto for the key, effectively?)
– kevinc
Nov 16 '18 at 21:26
thanks so much. One additional question, here docs.servicestack.net/cacheresponse-attribute it says the non-base url is the cache key - does this apply non non-http callers (does it serialize the request dto for the key, effectively?)
– kevinc
Nov 16 '18 at 21:26
@kevinc Caching and compression is only added for HTTP requests, I.e. for MQ or internal Service requests it’s executed without caching.
– mythz
Nov 20 '18 at 7:00
@kevinc Caching and compression is only added for HTTP requests, I.e. for MQ or internal Service requests it’s executed without caching.
– mythz
Nov 20 '18 at 7:00
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53337073%2fdoes-servicestack-cache-internal-requests%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown