A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/signumsoftware/framework/commit/8af868d10231629c8f045eb5b86f8431df427811 below:

add SignumInitializeFilterAttribute · signumsoftware/framework@8af868d · GitHub

File tree Expand file treeCollapse file tree 2 files changed

+25

-0

lines changed

Filter options

Expand file treeCollapse file tree 2 files changed

+25

-0

lines changed Original file line number Diff line number Diff line change

@@ -52,6 +52,7 @@ public static MvcNewtonsoftJsonOptions AddSignumJsonConverters(this MvcNewtonsof

52 52 53 53

public static MvcOptions AddSignumGlobalFilters(this MvcOptions options)

54 54

{

55 +

options.Filters.Add(new SignumInitializeFilterAttribute());

55 56

options.Filters.Add(new SignumExceptionFilterAttribute());

56 57

options.Filters.Add(new CleanThreadContextAndAssertFilter());

57 58

options.Filters.Add(new SignumEnableBufferingFilter());

Original file line number Diff line number Diff line change

@@ -154,4 +154,28 @@ public HttpError(Exception e, bool includeErrorDetails = true)

154 154

public string? StackTrace;

155 155

public HttpError? InnerException;

156 156

}

157 + 158 +

public class SignumInitializeFilterAttribute : IAsyncResourceFilter

159 +

{

160 +

public static Action InitializeDatabase = () => throw new InvalidOperationException("SignumInitializeFilterAttribute.InitializeDatabase should be set in Startup");

161 +

static object lockKey = new object();

162 +

public bool Initialized = false;

163 + 164 +

public Task OnResourceExecutionAsync(ResourceExecutingContext context, ResourceExecutionDelegate next)

165 +

{

166 +

if (!Initialized)

167 +

{

168 +

lock (lockKey)

169 +

{

170 +

if (!Initialized)

171 +

{

172 +

InitializeDatabase();

173 +

Initialized = true;

174 +

}

175 +

}

176 +

}

177 + 178 +

return next();

179 +

}

180 +

}

157 181

}

You can’t perform that action at this time.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4