Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.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#_Asp.net - Fatal编程技术网

C# 对象引用未设置为对象的实例。每当我通过会话发送值时,就会出现错误

C# 对象引用未设置为对象的实例。每当我通过会话发送值时,就会出现错误,c#,asp.net,C#,Asp.net,您在哪里调用ProcessRequest方法?您是否创建了HttpContext的实例并将其作为参数传递给您的方法 看起来上下文变量没有正确实例化。这就是它在线路上显示错误的原因: context.Session["Captcha"] = i; 在这里,在您的流程检查之前,没有对上下文的对象引用。。我认为会话没有任何价值 context.Session["Captcha"] = i; 并非所有HttpHandler都提供会话状态。为此,HttpHandler必须实现接口irerequires

您在哪里调用
ProcessRequest
方法?您是否创建了
HttpContext
的实例并将其作为参数传递给您的方法

看起来
上下文
变量没有正确实例化。这就是它在线路上显示错误的原因:

context.Session["Captcha"] = i;

在这里,在您的流程检查之前,没有对
上下文的对象引用。。我认为会话没有任何价值

context.Session["Captcha"] = i;

并非所有HttpHandler都提供会话状态。为此,HttpHandler必须实现接口irerequiressessionstateIReadOnlySessionState或两者兼而有之。

这一问题被多次询问。实现System.Web.SessionState.IRequiresessionState接口:实现System.Web.SessionState.IRequiresessionState接口:@nikhil无需执行任何操作,因为会话中只有问题。会话[“Captcha”]为空,因此导致问题,无需检查和尝试任何其他内容。@NikhilChavan请参见上面编辑的问题。。你将得到你的答案…会话为空
context.Session["Captcha"] = i;
public void ProcessRequest (HttpContext context)
 {
      if(Session["Captcha"] != null){

        //Your Code
        using (Bitmap b = new Bitmap(250, 50))
            {
                //code
            } 
        //your code over
        }
}