该服务正常运行并返回正确的响应。问题是如果我在调用服务后使用会话,它会转换为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
}
请帮助我。
答案 0 :(得分:1)
将Button3_Click中的三行代码包装在try-catch块中,或者只包含try块中的前两行和finally块中的最后一行。
可能存在未被捕获的异常,这会阻止下一行(Session [" val"] = 2000;)正确执行。