如何在ASP.NET应用程序中处理临时文件 - c#

最近,我正在努力在我们的Web应用程序中显示工作流图图像。我设法使用重新托管的WF设计器并在服务器上即时创建图像,但是想像一下工作流图可以迅速变大,我想通过使用一些Ajax控件来显示图像来提供更好的用户体验。支持缩放和平移功能。

我碰巧遇到了seadragon网站,这似乎是我可以使用的惊人作品。只有一个缺点-为了使用它们的库生成图像的深缩放版本,我必须使用服务器上的文件结构。由于我正在使用的图像是临时性的(带有进度指示器的工作流程图),因此不仅要能够创建此类图像,而且还要在一段时间后消除它们非常重要。

现在的问题是,如何最好地确保可以在服务器(ASP.NET Web应用程序)上创建临时图像文件和文件夹层次结构,并在以后进行清理。我当时在考虑使用缓存功能,并在缓存项到期后删除相应的图像文件夹层次结构,或者只是在Global.asax的Application_Start和Application_End中删除整个临时文件夹的内容,但我不确定这是一个好主意,是否存在一些安全限制或与文件系统相关的麻烦。你怎么看 ?

参考方案

我们对创建PDF报告进行了类似的操作,发现最简单的方法是使用时间戳记检查来确定“旧”文件的数量,然后根据一段时间(在我们的情况下为2小时以上)删除它们。这是在创建下一个PDF文档之前完成的,但是是创建过程的一部分。我们还创建了一个特定的文件夹,并为ASP.Net用户提供了对该文件夹的读/写访问权限。

唯一的缺点是,如果不经常使用创建PDF的过程,则会堆积文件,但是最终将清除它们。在2年内关闭4000个PDF格式文件后,我们还没有出现这种错误。

如何在ASP.NET MVC中使用预定义设置创建.xml文件? - javascript

我有一个ASP.NET应用程序,可以从特定路径获取文件。目前,该路径在我的代码中是一个变量:string filePath = @"C:\FilesToWatch"; 现在我的实习老板说,现在我必须在.xml文件中预定义路径。我的问题是我在xml方面没有太多的经验,我也不知道该xml文件在项目中的存储位置。有没有例子或解决方案? 参考方案…

如何在ASP.NET Core Web应用程序中增加JSON反序列化MaxDepth限制 - c#

我们正在将ASP.NET Core 2.1与.NET Framework 4.6.2结合使用。我们有一个客户需要向我们的Web应用程序发送一个很大程度上嵌套的json结构。当他们进行此调用时,我们将输出以下日志并返回错误: 读取器的MaxDepth超过了32。路径“ super.long.path.to property”,第1行,位置42111。”我浏览了…

如何在ASP.NET MVC中的foreach内部脚本标记中 - javascript

                        这是我的日历代码:@section Scripts { @Scripts.Render("~/bundles/jqueryval") <script> $(document).ready(function () { $('#calendar').fullCal…

如何在ASP.NET Core角度Web应用程序中调用控制器的动作 - c#

我创建了一个ASP.NET Core角度项目。有angular的默认组件和mvc的HomeController。当我直接运行该应用程序时,它可以正常运行。网页显示了角度分量的输出。然后我看一下HomeController的源代码,如下所示:class HomeController { // ... some code here [HttpGet] publi…

如何在ASP.NET Page_Load事件中识别RadButton启动回发的原因? - c#

在我的ASP.NET页的Page_Load中,我试图确定某个按钮是否已单击并尝试回发:if (Page.IsPostBack) { if (Request.Params.Get("__EVENTARGUMENT") == "doStuff") doSomething(); } doStuff是标记内的JavaScrip…