静态方法里面的HttpContext.Current.Response
我在静态类中有以下静态方法。 我的问题是在静态方法中使用HttpContext.Current.Response是否安全? 我想100%确定它是线程安全的,并且只与调用线程相关联。有人知道答案吗?
public static void SetCookie(string cookieName, string cookieVal, System.TimeSpan ts) { try { HttpCookie cookie = new HttpCookie(CookiePrefix + cookieName) {Value = cookieVal, Expires = DateTime.Now.Add(ts)}; HttpContext.Current.Response.Cookies.Add(cookie); } catch (Exception) { return; } }
是的,它非常安全。 HttContext.Current将从正在执行的线程中获取当前的HttpContext。
它是一种常见的技术,可以避免像“Tramp数据”那样传递上下文对象。
HTTPContext.Current是静态的,所以你从静态方法调用它是无关紧要的。 相关的是HTTPContext.Current以这样的方式实现,即它返回当前线程的 HTTP上下文(如果存在)。
目前还不清楚你的线程安全是什么意思。 是的, HttpContext.Current
返回与当前线程关联的HttpContext
对象。 请注意,如果在除当前正在处理请求的线程之外的线程上调用该函数(例如,在异步函数调用中),您将无法访问所需的HttpContext
对象。
另一种方法是将上下文对象作为参数传递给函数。
上述就是C#学习教程:静态方法里面的HttpContext.Current.Response分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/985605.html