Asp.net core 如何使用Miniprofiler存储来支持多个web实例?
我已经连接到了我的本地ASP.NET核心项目,它按预期工作。现在我需要它在一个托管环境中工作,在这个环境中,同一个网站有多个实例,并且没有粘性会话。我的理解是,如果在配置探查器时仅设置存储选项,则应该支持此操作。但是,设置存储似乎没有任何作用。我按如下方式初始化存储:Asp.net core 如何使用Miniprofiler存储来支持多个web实例?,asp.net-core,miniprofiler,Asp.net Core,Miniprofiler,我已经连接到了我的本地ASP.NET核心项目,它按预期工作。现在我需要它在一个托管环境中工作,在这个环境中,同一个网站有多个实例,并且没有粘性会话。我的理解是,如果在配置探查器时仅设置存储选项,则应该支持此操作。但是,设置存储似乎没有任何作用。我按如下方式初始化存储: var redisConnection=“…”; MiniProfiler.DefaultOptions.Storage=新的RedisStorage(redisConnection); app.UseMiniProfiler()
var redisConnection=“…”;
MiniProfiler.DefaultOptions.Storage=新的RedisStorage(redisConnection);
app.UseMiniProfiler();
完成此操作后,我希望可以打开一个概要页面,并将结果添加到我的redis缓存中。然后,我还希望我的网站的一个新实例会列出原始的分析结果。但是,在生成新的配置文件结果时,不会将任何内容写入缓存
为了测试连接,我尝试手动保存探查器实例(
storage.Save()
),并将其保存到存储器中。但同样,显示探查器结果时不会加载保存的结果(不管怎样,我所看到的示例都不要求您这样做)。我有一种感觉,我错过了关于存储应该如何工作的一些要点。事实证明,我认为将使用MiniProfiler.DefaultOptions.storage
的假设是错误的。将我的设置代码更改为以下代码后,它就可以工作了
//Startup.cs ConfigureServices
var redisConnection=“…”;
services.AddMiniProfiler(o=>
{
o、 RouteBasePath=“/profiler”;
o、 存储=新的重新存储(重新连接);//这是新的
});
//Startup.cs配置
app.UseMiniProfiler();