Hi Mike,
Have you looked at caching any of the Web API services as suggested under the following to improve efficiency?
http://docs.servicestack.net/caching
SBarnes wrote:Hi Mike,
Have you looked at caching any of the Web API services as suggested under the following to improve efficiency?
http://docs.servicestack.net/caching
Container.Register<IRedisClientsManager>(c => new RedisManagerPool("localhost:6379"));
Container.Register(c => c.Resolve<IRedisClientsManager>().GetCacheClient());
500 : {"__type":"ServiceStack.ErrorResponse, ServiceStack.Interfaces","ResponseStatus":{"ErrorCode":"TypeInitializationException","Message":"The type initializer for 'ServiceStack.Text.Json.JsonWriter`1' threw an exception.","StackTrace":" at ServiceStack.Text.Json.JsonWriter`1.WriteFn()\r\n at ServiceStack.Text.Json.JsonWriter.GetWriteFn(Type type)\r\n at ServiceStack.Text.JsonSerializer.SerializeToString(Object value, Type type)\r\n at ServiceStack.Text.JsonSerializer.SerializeToString[T](T value)\r\n at ServiceStack.StringExtensions.ToJson[T](T obj)\r\n at ServiceStack.Redis.RedisClient.ToBytes[T](T value)\r\n at ServiceStack.Redis.RedisClient.<>c__DisplayClass149_0`1.<Set>b__0(RedisClient r)\r\n at ServiceStack.Redis.RedisClient.Exec(Action`1 action)\r\n at ServiceStack.Redis.RedisClient.Set[T](String key, T value, TimeSpan expiresIn)\r\n at ServiceStack.Redis.RedisClientManagerCacheClient.Set[T](String key, T value, TimeSpan expiresIn)\r\n at ServiceStack.ServiceExtensions.CacheSet[T](ICacheClient cache, String key, T value, Nullable`1 expiresIn)\r\n at ServiceStack.ServiceStackHost.OnSaveSession(IRequest httpReq, IAuthSession session, Nullable`1 expiresIn)\r\n at ServiceStack.ServiceExtensions.SaveSession(IRequest httpReq, IAuthSession session, Nullable`1 expiresIn)\r\n at JiwaFinancials.Jiwa.JiwaServiceModel.RESTAPIPlugin.<>c__DisplayClass13.<Configure>b__c(IRequest req, IResponse res, Object responseDto) in c:\\ProgramData\\Jiwa Financials\\Jiwa 7\\7.1.0\\SYSTEM\\localhost\\XXXXXXXXXX\\Plugins\\Admin\\Compile\\REST API\\REST API.cs:line 184\r\n at ServiceStack.ServiceStackHost.ApplyResponseFiltersSingle(IRequest req, IResponse res, Object response)\r\n at ServiceStack.ServiceStackHost.ApplyResponseFilters(IRequest req, IResponse res, Object response)\r\n at ServiceStack.Host.RestHandler.<>c__DisplayClass13_1.<ProcessRequestAsync>b__1(Object response)\r\n at ServiceStack.Host.Handlers.ServiceStackHandlerBase.HandleResponse(Object response, Func`2 callback)"}} http://localhost:81/openapi
Container.Register<ICacheClient>(new MemoryCacheClient());
AppHost.GlobalResponseFilters.Add((req, res, responseDto) => {
var session = req.GetSession();
if (session is JiwaAuthUserSession)
{
JiwaAuthUserSession jiwaAuthUserSession = (JiwaAuthUserSession)session;
jiwaAuthUserSession.ConcurrentRequestCount -= (jiwaAuthUserSession.ConcurrentRequestCount > 0) ? 1 : 0;
}
if (session != null)
req.SaveSession(session, TimeSpan.FromMinutes(sessionExpiryInMinutes));
});
public JiwaApplication.Manager Manager { get; set; }
[System.Xml.Serialization.XmlIgnore]
public JiwaApplication.Manager Manager { get; set; }
req.SaveSession(session, TimeSpan.FromMinutes(sessionExpiryInMinutes));
[System.Runtime.Serialization.IgnoreDataMember]
Users browsing this forum: No registered users and 2 guests