WebOperationContext.current和HttpContext.Current之间的区别
我为客户开发Web和移动应用程序。 在我目前的架构中,Web访问和移动访问之间共享许多资源。 可以在Web上显示aspx
页面,并将其调用到移动应用程序中的Web视图。 我的问题是:
WebOperationContext.Current
和HttpContext.Current
对象有什么区别?
根据我的理解,它是同一个对象,但我注意到WebOperationContext.Current在某些情况下为空,我不明白为什么。
WebOperationContext
通常用于WCF REST方法,以便该方法可以访问传入请求和传出响应。
当可以访问传入请求和传出响应时, HttpContext
通常用于ASMX Web服务的ASP.NET WebForms页面或Web方法。
它们是针对不同的项目类型(WCF REST / ASP.NET WebForms)而设计的,因此您不应在错误的项目类型中使用它们。
关于.Current
值为null
,这更复杂。 即使您以正确的项目类型调用此属性,也需要确保在正确的线程上进行调用。 只有在处理请求的线程(也发出响应)上,您才能访问当前上下文。 在任何其他线程(后台线程或您创建的新线程)上,您将获得null
。 这已经知道多年了,但有时初学者仍然会弄错。
- 从ASP.NET中的POST方法检索数据
- 如何在没有EnableEventValidation =“false”的情况下导出excel,因为excel中存在锁定问题
- 循环遍历List
- 如果找不到指定的图像文件,显示默认图像的最佳方法是什么?
- ASP.NET – 获取DirectoryEntry / SID的主体/相对标识符(RID)
- GridView RowUpdating来自CodeBehind的SqlDataSource.Update
- LINQ平均时间跨度?
- 在共享同一会话时处理另一个Web应用程序时阻止Web应用程序
- 错误:26 – 找到指定的服务器/实例时出错。 (无法从我的主机服务器连接到我的本地Db)