什么是背景?

lwc*_*uer 37 c#

在我看来,Context类是一个控制台,其对象可以调用任何包含的函数,例如WCF Ria服务中的Datacontext和DomainContext.我能正确理解这个概念吗?如果是这样,我在什么情况下需要在我自己的类层次结构中创建上下文类?

除了DataContext之外,.net框架还有哪些其他众所周知的Context类?

Dar*_*der 46

您可以将上下文视为相关"事物"的包装,例如HttpContext,DbContext,ObjectContext.ie:HttpContext包含您可以访问HTTP相关操作的任何信息.

DbContext包含数据库通信的方法和属性.同样是ObjectContext.

我会说这是一个占位符或相关东西的容器.


Dav*_*yon 19

对我来说,上下文对象定义了一组绑定到当前执行路径的值和/或函数.换句话说,就像在工作面试的背景下谈论技术主题不同于在书呆子晚宴上谈论相同主题,上下文基于影响消费代码的运行时环境的因素而改变.这看起来很抽象,但我想不出更好的方式来描述它!

.NET中另一个着名的上下文就是HttpContext对象.哪些值将根据正在处理的Http操作而改变.例如,网址将更改HttpContext.Current.Request.Uri.希望把它放在你的上下文:)


dev*_*rts 6

上下文通常是一组操作的存储机制。 HttpContext例如

封装有关单个 HTTP 请求的所有特定于 HTTP 的信息。

对于您的 WCF 示例,“上下文”就是服务。不同的服务有不同的上下文。上下文可以根据您的需要进行细化。有些是广泛的,如DomainContext,有些是细粒度的,如HttpContext

上下文无处不在,当您需要访问或设置志同道合的数据或功能以实现可解耦的事物时,请创建上下文。

所有上下文都是这样,它们只是封装特定操作集的逻辑。

是另一篇描述上下文设计模式的文章。

  • 我喜欢你的解释,直到你的类比。 (2认同)
  • 公平地说,无论如何我都不相信它。感谢您的评论 (2认同)