我相信我在某个地方读到了一个项目文件中的设置,它允许您.cshtml在构建Visual Studio项目时编译文件.
刚开始使用MVC/Razor/QueryMobile,当我在.cshtml文件中的代码块中出错时,我对"错误加载页面"感到恼火
所以我最近开始使用ASP.NET MVC 4.我正在使用剃须刀引擎.我的问题是关于视图文件,后缀为cshtml.在我看来,这些是由razor预编译成*.cs文件,然后编译成MSIL.(我作为JSP开发人员熟悉的模式.)我做出这个假设的一个原因是,如果我在cshtml文件中输入一些无效的c#代码,我会得到一个编译错误,如下所示:
第34行:公共类_Page_Views_BaseDataAdmin_Index_cshtml:...
第34行并不表示错误在cshtml文件中的位置,就像类_Page_Views_BaseDataAdmin_Index_cshtml似乎是指常规的.net类而不是视图文件一样.
所以我的问题是:我在哪里可以找到cs文件?具体来说,在上面的例子中,"_ Page_Views_BaseDataAdmin_Index_cshtml.cs"?也许我需要添加一些配置来告诉MVC将这个.cs文件保存在磁盘上,如果是这样,我该怎么做?
谢谢!
乍一看,这似乎是该问题的重复,但是我没有问如何清除EF的缓存。
如何清除IMemoryCache接口设置的整个缓存?
public CacheService(IMemoryCache memoryCache)
{
this._memoryCache = memoryCache;
}
public async Task<List<string>> GetCacheItem()
{
if (!this._memoryCache.TryGetValue("Something", out List<string> list))
{
list= await this ...
this._memoryCache.Set("Something", list, new MemoryCacheEntryOptions().SetPriority(CacheItemPriority.NeverRemove));
}
return list;
}
Run Code Online (Sandbox Code Playgroud)
这只是一个例子。我有许多类/方法正在存储要缓存的值。现在,我需要将其全部删除。
在某些情况下,我的密钥是动态创建的,因此我不知道需要删除哪些密钥。清除将是完美的。
我可以编写自己的接口和类以供内部使用IMemoryCache,但这似乎有些过分。有没有更简单的选择?