- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在异步方法的 vNext 应用程序中使用以下内容的正确方法是什么:
[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
我看到它是 System.Web.Caching 的一部分,但我唯一可以添加的地方是我的 project.json 文件的 aspnet50 -> FrameworkAssemblies 部分,这是不正确的。
最佳答案
添加响应缓存中间件,如下所示:
public void Configure(IApplicationBuilder application)
{
application
.UseResponseCaching()
.UseMvc();
}
此中间件根据您在响应中设置的缓存 HTTP header 来缓存内容。您可以查看答案的其余部分,了解如何使用 ResponseCache
。
请改用新的 ResponseCache
属性。 ResponseCache
不是 OutputCache
的直接替代品,因为它仅使用 Cache-Control HTTP header 控制客户端和代理缓存。
如果您想使用服务器端缓存,请参阅this StackOverflow 问题讨论如何使用 IMemoryCache
或 IDistributedCache
。
// Add this to your controller action.
[ResponseCache(Duration = 3600)]
以下是使用新缓存配置文件的示例:
// Add this to your controller action.
[ResponseCache(CacheProfile="Cache1Hour")]
// Add this in Startup.cs
services.AddMvc(options =>
{
options.CacheProfiles.Add(
new CacheProfile()
{
Name = "Cache1Hour",
Duration = 3600,
VaryByHeader = "Accept"
});
});
响应缓存中间件会在各种情况下停止工作,您可以在docs中了解更多信息。 。您可能会遇到的两个常见问题是,如果它看到 Authorization
或 Set-Cookie
HTTP header ,它就会停止工作。
在 ASP.NET 4.6 中,我们可以在 web.config 中表示缓存配置文件并更改设置,而无需重新编译代码。有关如何将缓存配置文件移至新的 appsettings.json
(而不是在 Startup.cs 中对其进行硬编码)的更多信息,请参阅 this问题。
关于asp.net - 如何在 vNext 项目中的方法上应用 OutputCache 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27304210/
这个问题在这里已经有了答案: How to reference csproj from kproj (4 个答案) 关闭 8 年前。 是否可以从 ASP.NET vNext 项目引用非 vNext
所以我在 VS 14 CTP 中有一个 ASP .NET vNext 项目。我的目标是 .NET Framework 4.5.1。我添加了对 NuGet 包的引用,它没有特定于 vNext 的构建。
我们过去常常运行 XAML 构建,在那里您可以从一个构建开始另一个构建,例如让 GC 在之后运行集成测试工作流程等等。 在 VNext 中无法触发其他构建。我们怎样才能做到这一点? 最佳答案 此功能正
嗨,我目前正在一个使用 PCL 库的项目中工作,我们正在将所有内容迁移到 .net 标准。我正在阅读 .net 标准什么是,什么不是,什么支持或不支持,我遇到了著名的版本/平台表(more info)
我为目前支持 MVC 2 - MVC 5 的开源库做出贡献,我也希望支持 MVC 6(及更高版本)。为了支持每个版本的 MVC,我们利用了 Condition MSBuild 的功能,在进行构建时包含
我没有看到这方面的任何文档,但看起来在 vNext 中,您可以愉快地使用非静态方法 void Main() 编译和运行应用程序。实际上,新的控制台应用程序模板为您提供了一个非静态 Main。例如: p
前提:我认为这是 TFS 2015 中的错误/缺失功能 当我使用 TFS 网站创建一个新的 Build(非 xaml)定义时,我无法使用命令行调用它 TFSBuild start命令。 如果我创建了一
我们将 Release Management 2015 与 vNext 发布模板一起使用。我们为应用程序的每个部分部署了一个基于 Powershell DSC 的组件,事实上,我们部署了两个不同的应用
我正在我的构建服务器上运行大量测试,完成所有测试需要一个多小时。一个小时后,它目前失败了: The job running on agent xAgentNamex has exceeded the
目前,我正在处理一个大型旧项目,该项目在构建后事件中每个C#项目文件都有一个复制作业(使用C#编写的自定义工具)。 发布后事件看起来像 "$(MyEnvVar)\_Build\_Binaries\Co
是否有可能使用开放数据库,如 mysql、mariadb 或其他数据库以及 ASP.NET vNext? 也许是测试版驱动程序或类似的东西? 最佳答案 对于 ASP.NET vNext,您可以选择面向
我有一个 vNext 构建定义,其中指定了一个代理池。此代理池有不止一个代理。我想指定此构建定义要使用的代理编号 2。我如何确保针对特定构建定义使用特定构建代理来运行构建? 最佳答案 您可以向该特定构
我有一个 vNext 构建定义,其中指定了一个代理池。此代理池有不止一个代理。我想指定此构建定义要使用的代理编号 2。我如何确保针对特定构建定义使用特定构建代理来运行构建? 最佳答案 您可以向该特定构
我安装了 Visual Studio 2015 RC 来试用 ASP.Net vNext 模板。在“Web”部分,我注意到一个控制台应用程序显示为 我决定把它弄乱,我发现了一些有趣的点: 默认模板未将
Language feature implementation status通过 C# Chat 引起了我的注意.关于 this existing question 中未涵盖的一些功能,我有几个问题.
今天微软正式发布上SQL Server 2016 SP1,根据以往的SP1定律,可以在生产环境上使用了。打了SP1的标准版将具有企业版几乎所有的的功能。只有RAM 超过128GB或者超过24核心或者
构建 vNext 任务是对之前构建过程的巨大改进。不过,一个缺点是我无法将某些任务设为有条件的。我可以为每个组合创建一个额外的构建,但是如果我们必须更改构建的其他部分,这显然会严重扩展并导致大量额外的
我有一个在 Visual Studio 2015 RC 中运行的 MVC6 站点 我有一些静态 HTML 文件,我想提供给另一个网站。我想添加 CORS 支持(无需添加 Controller 并以这种
我一直在摆弄 vNext 并让示例项目运行起来。我创建了一个 Ubuntu 虚拟机,安装了所需的软件包,并使用 k run 让它全部运行起来。 (控制台应用程序)和 k kestrel (MVC 应用
我们正在开发一个 ASP.NET MVC 5 项目,该项目依赖于来自不同解决方案的项目。另一个解决方案是常见的类库,我们发布为 NuGet 包。当我们发布时,我们编译项目并从 NuGet 存储库中获取
我是一名优秀的程序员,十分优秀!