在Application_End()Global.aspx 期间,HttpContext.Current为null.我仍然希望能够访问缓存 - 它在内存中,所以想看看我是否可以以某种方式引用它来将位保存到磁盘.
问题 - 当HttpContext.Current为空时,有没有办法以某种方式在内存中引用缓存?
也许我可以创建一个全局静态变量来存储指向缓存的指针,我可以在HTTP请求上更新(伪:) "static <pointer X>" = HttpRequest.Current并通过Application_End()中的指针检索对缓存的引用?
当没有Http请求时,是否有更好的方法来访问内存中的Cache?
假设有一个MSSQL表UserPost代表用户发布的内容,包含以下字段:
ID | dateAdded | parentPostID | postBody
在系统中的用户可以创建一个请求,接收响应,然后其他用户可以评论的回应.即,Request <= 1:many => Reponse <= 1:many => Comment(想想StackOverlow的问题>答案>评论模型).
所有用户帖子(请求,响应和评论)都由UserPost行表示,其中Request有parentPostID = null;; 响应' parentPostID是请求的ID,而注释parentPostID是响应的ID.
我需要以简单的方式输出所有内容:
Request 1
- Response A
-- Comment (i)
-- Comment (ii)
- Response B
-- Comment (i)
Request 2
...
Run Code Online (Sandbox Code Playgroud)
问题:哪种SQL语句以最有用的方式返回所需信息?
我正在努力将(UserPosts)之间的三向连接写为Requests [join](UserPosts)作为Response [join](UsersPosts)作为Comments但不确定这是最简单的方法.
额外奖励:使用C#Linq可以做到这一点吗?