Itoktsnhc 最近的时间轴更新
Itoktsnhc

Itoktsnhc

V2EX 第 92413 号会员,加入于 2015-01-18 16:25:04 +08:00
今日活跃度排名 3392
根据 Itoktsnhc 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
Itoktsnhc 最近回复了
@Itoktsnhc
如果要实现类创建后执行一次这种事情 C#中有 Lazy<T> 不需要用静态字段标记这种比较麻烦方法

总结一下:
1. controller 是 scoped 所以对应的 service 生命周期最好要<=scoped
2. 请求之间共享内容一般借助缓存(MemoryCache?/Redis/DB)吧,asp.net core 有自己的 IMemoryCache,配合 Lazy<T>可以做到线程安全的延后初始化
3. 长生命周期内想调用短生命周期的 svc 可以通过注入 IServiceProvider 的方式实现
4. 防止构造函数注入的 svc 过多,可以使用 MediatR 类的库。
5. 跨方法事务 dotnet 中有 TransactionScope ,可以在跨方法调用中使用, 很方便
@bthulu
多个请求之间共享数据是个什么操作? 有更具体一点的例子嘛。
controller 的确是 scoped 的。
如果需要在 singleton 中调用 lifetime 更短的服务可以考虑直接注入 IServiceProvider /相对应的 Factory(如 IDbContextFactory<xxxDbContext>)
``` c#
using var scope = _sharedSp.CreateScope();
var sp = scope.ServiceProvider;
var svc = sp.GetRequiredService<IXxxService>();

```

``` c#

await using var context = _dbFactory.CreateDbContext();

```
报警?
5 天前
回复了 foveal 创建的主题 程序员 说说我教女票编程的失败经历
建议从 Haskell 、Lisp 、ML 这些东西开始。
8 天前
回复了 wagsoft 创建的主题 云计算 现在 windows 服务器虚机用什么版本?
hyper-v server
11 天前
回复了 lslvxy 创建的主题 程序员 求大佬帮我安排一下 gen10 plus
Hyper-V Server + 对应的 Admin center
24 天前
回复了 liantian 创建的主题 Windows WPS 竟然比 Excel 快?
是打开后点击 Benchmark 后计算得到的时间哦,不是打开文件的时间
Office 365 x64; R7 4800H;未关闭额外的后台线程
不开多线程 71s
开启多线程 29s
还是按照层级关系查询然后拼接吧,可能的问题就是 sql 查询次数的问题:
https://stackoverflow.com/questions/169817/is-it-possible-to-query-a-tree-structure-table-in-mysql-in-a-single-query-to-an
或者 fullname 不存一个名字拼接的内容 存 id 的串 比如 1>2>3>4
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1970 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 9ms · UTC 10:54 · PVG 18:54 · LAX 02:54 · JFK 05:54
Developed with CodeLauncher
♥ Do have faith in what you're doing.