我正在努力在ASP.NET Core 2.0 Web API中获得响应缓存。
我在中间件中添加了响应缓存:
public void ConfigureServices(IServiceCollection services)
{
services.AddResponseCaching();
...
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseResponseCaching();
...
}
Run Code Online (Sandbox Code Playgroud)
这是我的动作方法代码:
[ResponseCache(Duration = 30)]
[HttpGet()]
public IActionResult GetLookups()
{
Lookup lookups = dataRepository.GetContactLookups();
}
Run Code Online (Sandbox Code Playgroud)
因此,我在响应中获得了正确的Cache-Control http标头,但是如果我再次从邮递员发送响应,它仍然会在我的action方法中调用我的代码。我希望它不会调用我的代码,而是使用缓存的响应。
我是否误解了响应缓存的工作方式?任何帮助,将不胜感激。
如何设置Web应用程序项目的程序集名称?
MSDN文档中的以下页面显示"因为此编译模型创建单个程序集,您可以指定属性,例如程序集名称和版本".http://msdn.microsoft.com/en-us/library/aa983464.aspx.
但是我无法解决你怎么做到这一点!
有谁知道如何在Silverlight单元测试项目中测试私有函数?在*_Accessor对象似乎并没有他们是在一个正常的单元测试项目可用.
我似乎无法从Windows应用商店的后台任务中读取文件.这是读取文件内容的代码:
async private static Task<string> ReadAsync(string FileName)
{
var folder = ApplicationData.Current.LocalFolder;
var file = await folder.GetFileAsync(FileName);
Windows.Storage.Streams.IRandomAccessStreamWithContentType inputStream = null;
try
{
inputStream = await file.OpenReadAsync();
}
catch (Exception ex)
{
throw (ex);
}
string content = string.Empty;
using (Stream stream = inputStream.AsStreamForRead())
{
using (StreamReader reader = new StreamReader(stream))
{
try
{
// *** program exits on this line
content = await Task.Run(() => reader.ReadToEnd());
}
catch(Exception ex)
{
// no error is caught
content = ex.Message;
} …Run Code Online (Sandbox Code Playgroud) c# windows-runtime winrt-xaml winrt-async windows-store-apps
c# ×2
.net ×1
asp.net ×1
asp.net-core ×1
http ×1
ms-access ×1
postman ×1
silverlight ×1
sql-server ×1
unit-testing ×1
winrt-async ×1
winrt-xaml ×1