【发布时间】:2017-05-13 19:04:35
【问题描述】:
我正在开发一个 ASP.NET Core MVC Web 应用程序。我有一个包含字典的模型。在一个动作中,我向它添加了一个新元素。然后我还有其他操作应该使用刚刚添加的 Dictionary 中的对象。但事实证明 - 在第一个动作完成执行后,字典是空的。有没有办法修复它,以便将对象永久添加到字典中?
更新: 嗯,我需要存储的对象基本上是带有 Deep Zoom 切片生成器的虚拟医疗幻灯片。流程如下:用户点击链接打开幻灯片 -> ViewSlide Action 创建幻灯片对象 -> 然后对应视图上的 OpenSeadragon 查看器发送请求获取 XML 元数据和各种 Deep Zoom 上的 JPEG 瓦片(256x256)级别(基于鼠标光标位置)。所以会有很多对图块的请求,我正在寻找一种方法来优化创建它们所需的时间。
这是上述动作的代码sn-p:
[Route("[controller]/{slug}")]
public IActionResult ViewSlide(string slug)
{
try
{
var currentSlide = slideSet.Get(slug);
return View(currentSlide);
}
catch (Exception)
{
return RedirectToAction("Index");
}
}
public Slide Get(string slideUrl)
{
if (Slides.ContainsKey(slideUrl))
return Slides[slideUrl];
var pathToSlide = FilePaths[slideUrl];
Slides[slideUrl] = new Slide(pathToSlide);
return Slides[slideUrl];
}
[Produces("application/xml")]
[Route("[controller]/{slug}.dzi")]
public string Dzi(string slug)
{
try
{
return slideSet.Get(slug).DeepZoomGenerator.GetDziMetadataString(DEEPZOOM_FORMAT);
}
catch (Exception)
{
RedirectToAction("Index");
return "";
}
}
【问题讨论】:
标签: c# asp.net asp.net-mvc dictionary