调用Web服务后,Session返回null

时间:2015-01-08 22:21:08

标签: c# asp.net web-services

该服务正常运行并返回正确的响应。问题是如果我在调用服务后使用会话,它会转换为null,我在内部调用了服务。

编辑1:在跟踪之后,我发现服务中的MyOperation方法中有一行将文本写入文件 [File.WriteAllText(Path,txt);] ,如果我评论这一行,会议工作正常。任何解释?

protected void Button1_Click(object sender, EventArgs e)
{
    client = new MySvc.MyServiceClient();
    var res = client.MyOperation(); // If I comment this line, sessions works fine.
    Session["val"] = 2000;
}

protected void Button2_Click(object sender, EventArgs e)
{
    var foo = Session["val"]; // always null
}

请帮助我。

1 个答案:

答案 0 :(得分:1)

将Button3_Click中的三行代码包装在try-catch块中,或者只包含try块中的前两行和finally块中的最后一行。

可能存在未被捕获的异常,这会阻止下一行(Session [" val"] = 2000;)正确执行。