Mor*_*sen 6 miniprofiler asp.net-core
我已将Miniprofiler连接到本地 ASP.NET Core 项目,并且它按预期工作。现在我需要它在托管环境中工作,其中同一网站有多个实例并且没有粘性会话。据我了解,如果您在配置探查器时仅设置存储选项,则应该支持此功能。但是,设置存储似乎没有任何作用。我像这样初始化存储:
var redisConnection = "...";
MiniProfiler.DefaultOptions.Storage = new RedisStorage(redisConnection);
app.UseMiniProfiler();
Run Code Online (Sandbox Code Playgroud)
完成此操作后,我希望可以打开一个分析页面,并将结果添加到我的 redis 缓存中。然后,我还希望我的网站的新实例会列出原始分析结果。但是,在生成新的配置文件结果时,不会将任何内容写入缓存。
为了测试连接,我尝试手动保存探查器实例 ( storage.Save()),并将其保存到存储中。但同样,在显示探查器结果时,不会加载保存的结果(无论如何,我见过的示例都不需要您这样做)。我有一种感觉,我错过了关于存储应该如何工作的一些要点。
事实证明我的假设MiniProfiler.DefaultOptions.Storage是错误的。将我的设置代码更改为以下内容后,它就可以工作了。
// Startup.cs ConfigureServices
var redisConnection = "...";
services.AddMiniProfiler(o =>
{
o.RouteBasePath = "/profiler";
o.Storage = new RedisStorage(redisConnection); // This is new
});
// Startup.cs Configure
app.UseMiniProfiler();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1111 次 |
| 最近记录: |