asp.net-mvc – 为什么HttpContext.Current在asp.net mvc中的用
发布时间:2020-12-15 21:07:31 所属栏目:asp.Net 来源:网络整理
导读:我创建了一个名为MyLongRunningClass的类,它包含一个方法: public string ProcessLongRunningAction(IEnumerableHttpPostedFileBase files,string id) { int currentIndex = 0; foreach (HttpPostedFileBase file in files) { currentIndex++; lock(syncRoo
我创建了一个名为MyLongRunningClass的类,它包含一个方法:
public string ProcessLongRunningAction(IEnumerable<HttpPostedFileBase> files,string id) { int currentIndex = 0; foreach (HttpPostedFileBase file in files) { currentIndex++; lock(syncRoot) { string path=HttpContext.Current.Server.MapPath("~//Content//images //"+file.FileName);//Excecption is created here........ file.SaveAs(path); } Thread.Sleep(300); } return id; } 从控制器调用此方法,使用文件列表保存在images目录中.每当执行HttpContext.Current.Server.MapPath(“?// Content // images //”file.FileName)时,抛出NullReferenceException,并且HttpContext.Current始终为null.当我使用session时会发生同样的事情.我不知道代码有什么问题. 解决方法
看起来您在一个单独的线程上运行ProcessLongRunningAction.
但是,当您未在原始请求线程中运行时,HttpContext.Current将返回null.这是explained here. 如果在创建的每个线程上手动设置上下文,则可以使用它.这在SO中的类似问题上进行了讨论,如here和here. 但是,考虑到你的问题中的代码,如果你只是为该方法中的路径添加一个参数会更好,正如Johann Blais建议的那样.然后,您将解析原始请求线程中的路径并将其传递给该方法,然后该方法可以在分离的线程上运行.这样你的方法就不依赖于HttpContext.Current. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- entity-framework-core – 实体框架Core 2.0许多表中公共属
- asp.net-mvc – 如何在验证集合中添加验证错误asp.net mvc?
- asp.net-mvc-4 – 下划线字符串模型绑定器
- asp.net – 在安全连接(HTTPS)中使用与SignalR的“longpoli
- asp.net-mvc – ASP.NET MVC,在使用EF 4时形成auth或自定义
- asp.net-core-mvc-2.0 – ASP .NET Core 2 MVC错误NU1202在
- 如何在ASP.NET MVC中获得HttpResponse的引用?
- asp.net-mvc-2 – MVC2:具有两个字段依赖性的验证(数据注释
- asp.net-mvc – 在自定义编辑器中只包含一次脚本
- asp.net全局资源错误’找不到具有键”的资源对象’
推荐文章
站长推荐
- asp.net – 如何使用AntiXss Library正确清理内容
- asp.net – 外键在VS2012 RC中未被识别
- asp.net – @RenderSection在嵌套剃刀模板
- asp.net-mvc-3 – 在生产环境中使用DropCreateDa
- 如何在ASP.net c#中的页面之间传递对象而不是值?
- asp.net-mvc – 第一次只触发了Ajax.ActionLink
- 从未调用ASP.NET Web API自定义JsonConverter
- ASP.NET可以在C#中设置会话超时值
- 如何将Ninject集成到ASP.NET Core 2.0 Web应用程
- asp.net-mvc – 使用MVC为iPhone应用构建RESTful
热点阅读