gpt4 book ai didi

c# - WebOperationContext.current 和 HttpContext.Current 之间的区别

转载 作者:可可西里 更新时间:2023-11-01 08:17:20 27 4
gpt4 key购买 nike

我为客户开发网络和移动应用程序。在我当前的架构中,许多资源在 Web 访问和移动访问之间共享。 aspx 页面可以显示在网络上,也可以在移动应用程序中调用 WebView 。我的问题是:

WebOperationContext.CurrentHttpContext.Current 对象有什么区别?

根据我的理解,它是同一个对象,但我注意到 WebOperationContext.Current 在某些情况下为 null,我不明白为什么。

最佳答案

WebOperationContext 通常用在 WCF REST 方法中,以便该方法可以访问传入请求和传出响应。

HttpContext 通常在 ASP.NET WebForms 页面或 ASMX Web 服务的 Web 方法中使用,当可以访问传入请求和传出响应时。

它们是为不同的项目类型(WCF REST/ASP.NET WebForms)设计的,所以你不应该在错误的项目类型中使用它们。

关于什么时候.Current的值为null,那就更复杂了。即使您在正确的项目类型中调用此属性,您也需要确保调用是在正确的线程上进行的。只有在处理请求(也发送响应)的线程上,您才能访问当前上下文。在任何其他线程(后台线程或您创建的新线程)上,您将得到 null。这已为人所知多年,但初学者有时仍会弄错。

关于c# - WebOperationContext.current 和 HttpContext.Current 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18747581/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com