如何获得一个对象(HttpContext)的IntPtr?

问题描述

如何获得一个对象(HttpContext)的IntPtr?代码是.net的源码,相关部分如下:IntPtr_context;publicstringGetQueryString(){IntPtrptr;intnum;UnsafeIISMethods.MgdGetQueryString(_context,outptr,outnum);if(ptr==IntPtr.Zero){returnstring.Empty;}returnUnsafeIISMethods.StringFromWCharPtr(ptr,num);}根据上下文源码推测,_context是指向HttpContext的,但是怎样才能将_context指向一个HttpContext实例呢?

解决方案

解决方案二:
学习学习顶上去
解决方案三:
引用楼主huolx2的帖子:

如何获得一个对象(HttpContext)的IntPtr?根据上下文源码推测,_context是指向HttpContext的,但是怎样才能将…

问题和标题有点不明白到底是要Inptr还是要HttpContext
解决方案四:
up
解决方案五:
没有测试:System.Runtime.InteropServices.GCHandlegch=GCHandle.Alloc(httpContext,GCHandleType.Pinned);IntPtr_context=gch.AddrOfPinnedObject();...gch.Free();

解决方案六:
引用4楼dk385的回复:

没有测试:C#codeSystem.Runtime.InteropServices.GCHandlegch=GCHandle.Alloc(httpContext,GCHandleType.Pinned);IntPtr_context=gch.AddrOfPinnedObject();...gch.Free();

帮你顶一下。顶成热贴。
解决方案七:
感谢大康编译通过不过在运行至System.Runtime.InteropServices.GCHandlegch=GCHandle.Alloc(this.Context,GCHandleType.Pinned);时报错:Object包含非基元或非直接复制到本机结构中的数据。如果改为System.Runtime.InteropServices.GCHandlegch=GCHandle.Alloc(this.Context,GCHandleType.Normal);则在运行至IntPtr_context=gch.AddrOfPinnedObject();报错句柄未被固定。
解决方案八:
up
解决方案九:
友情帮顶
解决方案十:
up

时间: 2024-07-31 16:35:42

如何获得一个对象(HttpContext)的IntPtr?的相关文章

HTTP请求 HttpContext类用法详解

在处理请求执行链的各个阶段中,会有一个对象在各个对象之间进行传递,也即会保存请求的上下文信息,这个对象就是HttpContext对象.HttpContext粉状了ASP.NET要处理的单次请求的所有信息.在请求处理机制建立时,HttpContext类有HttpRuntime对象实例化,接着该对象会经历请求生存期的各个阶段.如图所示:                            图:封装了请求所有有关信息的HttpContext对象沿HTTP管道传递,直到生成客户端响应 HttpCont

通过属性返回本身,比如HttpContext类

问题描述 就如上面的,静态Current属性返回的是什么,是HttpContext的实例?跟new出来的效果一样嘛?这样做有什么好处,有什么意义,专业术语称这种是什么东西拜托拜托各位大神,小弟自学的,很多东西专业术语也不知叫什么,所以百度起来很困难,拜托拜托 解决方案 解决方案二:没有大神吗解决方案三:Current是静态的属性,所以不要被定义它的位置迷惑了,只是因为需要写在一个类中,而这个类是最合适的位置.解决方案四:引用2楼tcmakebest的回复: Current是静态的属性,所以不要被

HttpContext.Current.Session赋值问题

问题描述 最近在研究netcms的代码,我发现一个问题:就是在给HttpContext.Current.Session["siteinfo"]赋值时,它是赋一个对象,难道session可以赋一个对象吗?具体的代码是这样的:publicstaticvoidSet(GlobalUserInfoinfo){HttpContext.Current.Session["SITEINFO"]=info;}而GlobalUserInfo的类定义是这样的:publicclassGlo

php中将一个对象保存到Session中的方法

 这篇文章主要介绍了php中将一个对象保存到Session中的方法,涉及php操作对象及session的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了php中将一个对象保存到Session中的方法.分享给大家供大家参考.具体如下: 要保存对象到session其实很简单,我们可以使用session_register()函数,下面是使用范例 person_class.inc.php如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Python检测一个对象是否为字符串类的方法

  这篇文章主要介绍了Python检测一个对象是否为字符串类的方法,即检测是一个对象是否是字符串对象,本文还讲解了一个有趣的判断方法,需要的朋友可以参考下 目的 测试一个对象是否是字符串 方法 Python的字符串的基类是basestring,包括了str和unicode类型.一般可以采用以下方法: 代码如下: def isAString(anobj): return isinstance(anobj,basestring) 不过以上方法对于UserString类的实例,无能无力. 代码如下:

怎么判断一个对象是否已被释放

以下为引用的内容:<%Dim conn'声明Set conn = Server.CreateObject("ADODB.Connection")'创建'使用Set conn = Nothing'释放%> 我们通常用如上的形式来创建一个对象,并使用和释放它,问题是我们怎么去判断一个对象是否已被释放了呢?用isObject可以吗?我们来试下: 以下为引用的内容:<%Dim connResponse.Write(isObject(conn)) '结果为FalseSet co

使用 HttpContext.RewritePath 来配合 Server.Transfer/Execute

server 我想由不少人都懂得在Applicaton_Start等事件中使用HttpContext.RewritePath来改变HttpHandler. 如果在 Server.Transfer/Execute 的调用前,使用RewritePath,更可以起到指定QueryString的效果. 例如 Context.RewritePath("AA.Aspx","","OKOK=3333");Context.Server.Transfer(&quo

[常见问题]cookie使用1.Page与HttpContext的Request、Response

cookie|request|response|问题 自编程序如下 using System;using System.Web;using System.Web.UI;namespace hnwl.config{/// <summary>/// Cookdef 的摘要说明./// cookies相关的定义,以及涉及到cook的一些检验,如用户登录标示/// </summary>public class Cookdef :Page{  private HttpCookie cook;

对一个对象进行多种操作

用户可能经常对一个对象进行一系列的多种操作.例如,可能需要对一个对象设置几种属性,可采用如下多种方法: 1.使用多种表述 如下代码: Private Sub InitializeComponet() Button1.Text="OK" Button1.Visible=True Button1.Top=200 Button1.Left=5000 Button1.Enabled=True End sub 也可以更容易的使用With...End With提高代码的效率,代码如下: Priva