会话在调用 Web 服务后返回空值
本文关键字:返回 空值 服务 Web 调用 会话 | 更新日期: 2023-09-27 18:36:45
服务工作正常并返回正确的响应。 问题是如果我在调用服务后使用会话,它会转换为 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
}
请帮我。
将 Button1_Click 中的三行代码包装在 try-catch 块中,或者只将 try 块中的前两行和 finally 块中的最后一行包装起来。
可能存在未捕获的异常,这会阻止下一行(Session["val"] = 2000;)从正确执行。