Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.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# 在asmx中将对象存储到会话,并在母版页中获取此值-获取null_C#_Asp.net_.net_Web Services_Session - Fatal编程技术网

C# 在asmx中将对象存储到会话,并在母版页中获取此值-获取null

C# 在asmx中将对象存储到会话,并在母版页中获取此值-获取null,c#,asp.net,.net,web-services,session,C#,Asp.net,.net,Web Services,Session,我尝试将对象存储到asmx web服务中的会话中 user = new MyUser(UserName); Session["user"] = user; 并从页面加载部分的母版页读取,但我得到空值 user = (MyUser)Session["user"]; 当我尝试使用一个简单的字符串而不是MyUser对象时,它会起作用 有什么想法吗 谢谢 谁是服务的客户,谁是页面的客户?他们在分享饼干吗 这些问题的答案非常重要,因为会话共享涉及到共享具有相同会话id的会话cookie 从您编写的

我尝试将对象存储到asmx web服务中的会话中

 user = new MyUser(UserName);
 Session["user"] = user;
并从页面加载部分的母版页读取,但我得到空值

user = (MyUser)Session["user"];
当我尝试使用一个简单的字符串而不是
MyUser
对象时,它会起作用

有什么想法吗


谢谢

谁是服务的客户,谁是页面的客户?他们在分享饼干吗

这些问题的答案非常重要,因为会话共享涉及到共享具有相同会话id的会话cookie


从您编写的内容来看,这并不清楚,但很可能您只需在两个客户端(web服务客户端和页面客户端)之间共享(例如,复制)cookies即可。

假设运行您的服务的过程与服务您的页面的过程相同,您需要确保WebMethod通过使用

[WebMethod(EnableSession = true)]
这是另一个答案。

我找到了解决方案! 在母版页中,我试图读取
page\u Load
事件上的会话,但它是错误的。
当我输入
Page_Init
事件时,它起作用了:)

你的
MyUser
可序列化吗?是的,它是:“[serializable]public class User”如果你确定它可以与字符串一起工作,那么我就不知道了,逻辑部分根本不起作用,它们可能有两个不同的池,
会话
不会像那样共享。我会使用SQL会话或缓存系统在之间更改消息。当我尝试在asmx页面中获取此对象时,我可以,但从另一个页面中我不能…..我不喜欢在webservices中放置会话变量..虽然您是这样尝试的:HttpContext.Current.session[“user”]=user?谢谢,但我已经使用过了,会话是工作的,但是当我试图从母版页的会话中读取对象时,得到null@Jaime老兄,这不是一个“简单的答案”。。。这一个节省了我几天的工作,直到我陷入了一个问题,这个单一的属性解决了它。。。谢谢你,伙计。喜欢你的名字在法语中的意思;«
J'aime
vraiment ta réponse!»(我真的很喜欢你的答案)。什么是“同一个客户”。网络浏览器?桌面应用程序?