public IDbConnection GetDb <From>(IRequest req = null) { if (Db != null) { return(Db); } var namedConnection = UseNamedConnection; var attr = typeof(From).FirstAttribute <NamedConnectionAttribute>(); if (attr != null) { namedConnection = attr.Name; } Db = namedConnection == null ? HostContext.AppHost.GetDbConnection(req) : HostContext.TryResolve <IDbConnectionFactory>().OpenDbConnection(namedConnection); return(Db); }
/// <summary> /// End a HttpHandler Request /// </summary> public static void EndHttpHandlerRequest(this IResponse httpRes, bool skipHeaders = false, bool skipClose = false, Action <IResponse> afterHeaders = null) { if (!skipHeaders) { httpRes.ApplyGlobalResponseHeaders(); } afterHeaders?.Invoke(httpRes); var req = httpRes.Request; if (req != null && !req.Items.ContainsKey(Keywords.HasLogged)) { HostContext.TryResolve <IRequestLogger>()?.Log(req, req.Dto, httpRes.Dto, TimeSpan.Zero); } if (!skipClose && !httpRes.IsClosed) { httpRes.Close(); } HostContext.CompleteRequest(req); }
public static async Task EndHttpHandlerRequestAsync(this IResponse httpRes, bool skipHeaders = false, bool skipClose = false, Func <IResponse, Task> afterHeaders = null) { //if (!skipHeaders) httpRes.ApplyGlobalResponseHeaders(); if (afterHeaders != null) { await afterHeaders(httpRes); } var req = httpRes.Request; if (req != null && !req.Items.ContainsKey(Keywords.HasLogged)) { HostContext.TryResolve <IRequestLogger>()?.Log(req, req.Dto, httpRes.Dto, TimeSpan.Zero); } if (!skipClose && !httpRes.IsClosed) { await httpRes.CloseAsync(); } HostContext.CompleteRequest(req); }
public static string GetProfileUrl(this IAuthSession authSession, string defaultUrl = null) { var profile = HostContext.TryResolve <IAuthMetadataProvider>(); return(profile == null ? defaultUrl : profile.GetProfileUrl(authSession, defaultUrl)); }
public MetadataTypesGenerator GetGenerator() => (HostContext.TryResolve <INativeTypesMetadata>() ?? new NativeTypesMetadata(HostContext.AppHost.Metadata, MetadataTypesConfig)) .GetGenerator();