Skip to main content

Service

Generic + Useful IService base class

Assembly: ServiceStack.dll
View Source
Declaration
public class Service : IService, IServiceBase, IRequiresRequest, IResolver, IDisposable, IServiceFilters, IServiceBeforeFilter, IServiceAfterFilter, IServiceErrorFilter

Properties

GlobalResolver

View Source
Declaration
public static IResolver GlobalResolver { get; set; }

Request

View Source
Declaration
public IRequest Request { get; set; }

Response

View Source
Declaration
protected virtual IResponse Response { get; }

Cache

View Source
Declaration
public virtual ICacheClient Cache { get; }

CacheAsync

View Source
Declaration
public virtual ICacheClientAsync CacheAsync { get; }

LocalCache

Returns ServiceStack.Caching.MemoryCacheClient. cache is only persisted for this running app instance.

View Source
Declaration
public virtual MemoryCacheClient LocalCache { get; }

Db

View Source
Declaration
public virtual IDbConnection Db { get; }

Redis

View Source
Declaration
public virtual IRedisClient Redis { get; }

MessageProducer

View Source
Declaration
public virtual IMessageProducer MessageProducer { get; }

SessionFactory

View Source
Declaration
public virtual ISessionFactory SessionFactory { get; }

AuthRepository

View Source
Declaration
public virtual IAuthRepository AuthRepository { get; }

AuthRepositoryAsync

View Source
Declaration
public virtual IAuthRepositoryAsync AuthRepositoryAsync { get; }

Gateway

View Source
Declaration
public virtual IServiceGateway Gateway { get; }

VirtualFileSources

Cascading collection of virtual file sources, inc. Embedded Resources, File System, In Memory, S3

View Source
Declaration
public IVirtualPathProvider VirtualFileSources { get; }

VirtualFiles

Read/Write Virtual FileSystem. Defaults to FileSystemVirtualPathProvider

View Source
Declaration
public IVirtualFiles VirtualFiles { get; }

SessionBag

View Source
Declaration
public virtual ISession SessionBag { get; }

SessionBagAsync

View Source
Declaration
public virtual ISessionAsync SessionBagAsync { get; }

IsAuthenticated

If user found in session for this request is authenticated.

View Source
Declaration
public virtual bool IsAuthenticated { get; }

Methods

GetResolver()

View Source
Declaration
public virtual IResolver GetResolver()
Returns

ServiceStack.Configuration.IResolver

SetResolver(IResolver)

View Source
Declaration
public virtual Service SetResolver(IResolver resolver)
Returns

ServiceStack.Service

Parameters
TypeName
ServiceStack.Configuration.IResolverresolver

TryResolve<T>()

View Source
Declaration
public virtual T TryResolve<T>()
Returns

<T>

Type Parameters
  • T

GetPlugin<T>()

View Source
Declaration
public T GetPlugin<T>()
where T : class, IPlugin
Returns

<T>

Type Parameters
  • T

AssertPlugin<T>()

View Source
Declaration
public T AssertPlugin<T>()
where T : class, IPlugin
Returns

<T>

Type Parameters
  • T

ResolveService<T>()

View Source
Declaration
public virtual T ResolveService<T>()
Returns

<T>

Type Parameters
  • T

OpenDbConnection(String)

View Source
Declaration
public virtual IDbConnection OpenDbConnection(string namedConnection)
Returns

System.Data.IDbConnection

Parameters
TypeName
System.StringnamedConnection

GetRedisAsync()

View Source
Declaration
public virtual ValueTask<IRedisClientAsync> GetRedisAsync()
Returns

ValueTask<ServiceStack.Redis.IRedisClientAsync>

GetSession(Boolean)

View Source
Declaration
public virtual IAuthSession GetSession(bool reload = false)
Returns

ServiceStack.Auth.IAuthSession

Parameters
TypeName
System.Booleanreload

GetSessionAsync(Boolean, CancellationToken)

View Source
Declaration
public virtual Task<IAuthSession> GetSessionAsync(bool reload = false, CancellationToken token = default(CancellationToken))
Returns

System.Threading.Tasks.Task<ServiceStack.Auth.IAuthSession>

Parameters
TypeName
System.Booleanreload
System.Threading.CancellationTokentoken

SessionAs<TUserSession>()

Typed UserSession

View Source
Declaration
protected virtual TUserSession SessionAs<TUserSession>()
Returns

<TUserSession>

Type Parameters
  • TUserSession

SessionAsAsync<TUserSession>()

Typed UserSession

View Source
Declaration
protected virtual async Task<TUserSession> SessionAsAsync<TUserSession>()
Returns

System.Threading.Tasks.Task<<TUserSession>>

Type Parameters
  • TUserSession

PublishMessage<T>(T)

Publish a MQ message over the ServiceStack.Messaging.IMessageProducer implementation.

View Source
Declaration
public virtual void PublishMessage<T>(T message)
Parameters
TypeName
<T>message
Type Parameters
  • T

Dispose()

Disposes all created disposable properties of this service and executes disposing of all request System.IDisposables (warning, manually triggering this might lead to unwanted disposing of all request related objects and services.)

View Source
Declaration
public virtual void Dispose()

OnBeforeExecute(Object)

View Source
Declaration
public virtual void OnBeforeExecute(object requestDto)
Parameters
TypeName
System.ObjectrequestDto

OnAfterExecute(Object)

View Source
Declaration
public virtual object OnAfterExecute(object response)
Returns

System.Object

Parameters
TypeName
System.Objectresponse

OnExceptionAsync(Object, Exception)

View Source
Declaration
public virtual Task<object> OnExceptionAsync(object requestDto, Exception ex)
Returns

System.Threading.Tasks.Task<System.Object>

Parameters
TypeName
System.ObjectrequestDto
System.Exceptionex

DisposeAsync()

View Source
Declaration
public async ValueTask DisposeAsync()
Returns

ValueTask

Implements