Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 什么是上下文?_C# - Fatal编程技术网

C# 什么是上下文?

C# 什么是上下文?,c#,C#,在我看来,上下文类是一个控制台,其对象可以调用任何包含的函数,如WCF Ria服务中的Datacontext和DomainContext。我是否正确理解这个概念?如果是这样,在什么情况下我需要在我自己的类层次结构中创建上下文类 除了DataContext之外,.net framework还有哪些著名的上下文类?对我来说,上下文对象定义了一组绑定到当前执行路径的值和/或函数。换句话说,就像在工作面试中谈论技术主题不同于在书呆子晚宴上谈论同一主题一样,上下文会根据影响消费代码的运行时环境的因素而变化

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


除了DataContext之外,.net framework还有哪些著名的上下文类?

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


NET中另一个著名的上下文是
HttpContext
对象。哪些值将根据正在处理的Http操作而更改。例如,url将在
HttpContext.Current.Request.Uri
中更改。希望您能将其置于上下文中:)

上下文通常是一组操作的存储机制<代码>HttpContext,用于

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

对于您的WCF示例,“上下文”是服务。不同的服务具有不同的上下文。上下文可以是您想要的粒度。有些是广泛的,如
DomainContext
,有些是细粒的,如
HttpContext

上下文无处不在,当您需要访问或将志同道合的数据或函数设置为可以解耦的对象时,可以创建上下文

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


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

您可以将上下文视为相关“事物”的包装,如HttpContext、DbContext、ObjectContext。i、 e.:HttpContext包含您可以获取的与HTTP相关操作的任何信息

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


我会说它是一个占位符或相关事物的容器。

在一些OOP设计模式中使用了上下文类, 例如: -状态模式
-战略模式

我喜欢你的解释,直到你的类比。公平地说,我没有被说服。感谢您的评论我如何定义自定义上下文?