第一個問題:Asp.net核心,我不基本問題理解
services.AddMemoryCache(); // in Startup config
public class AController
{
public AController(IMemoryCache cacheA) { }
}
public class BController
{
public BController(IMemoryCache cacheB) { }
}
問題是cacheA相同cacheB
我想有私人API(羣集連接)和公共API(暴露於前端) 如何在保持DI模式友好的同時將它們分開?
第二個問題;
我想有一個通過HTTP 要求一些外部的Web服務器,其結果將在該服務中,也存儲在數據庫 所以我們首先查詢localCache然後查詢數據庫緩存服務,然後查詢外部服務器
該服務的結果將用於控制器併發送到前端
如何使用所有花哨的asp.netcore模式實現這樣的事情? 緩存必須是ONE(單例),所以我們不要浪費DB請求
?增加這種服務的services.SCOPED <>但隨後如何保持其高速緩存同樣爲每個實例(有些單身DI?還是靜態的MemoryCache實例嗎?) 我不知道,不該死的想法乞求幫助
在節點.js文件我會做這一切在一兩分鐘,但微軟哎
在源一看會回答你所有的問題:https://github.com/aspnet/Caching/blob/efbbdc5e0a8c8a664ea34cd41220d084b6906f57/src/Microsoft.Extensions.Caching.Memory/MemoryCacheServiceCollectionExtensions.cs#L76-L86 – Tseng
大聲笑,這是一個很好的,這將是一個很好的功能,如果VS的(Peek定義 - Alt F12)可以爲您提供源代碼 – gdpm