在ASP.NET中的webservice中使用会话状态

时间:2011-06-16 10:49:17

标签: c# asp.net web-services

登录时,我将用户名保存到Session["username"]。在下一页,我正在进行Web服务调用。在Web服务中,我想访问此会话。

怎么做?

我甚至尝试将EnableSession设置为webmethod的 true 。但是,仍在执行Session["username"]时,实例设置为null异常显示。

请帮忙。

3 个答案:

答案 0 :(得分:5)

你应该从不这样做。

Web服务是通过网络在两个电子设备之间进行通信的方法。这2台设备不会共享会话或任何其他服务器信息,除了那些由Web服务签名初步定义的设备。

您必须记住,任何设备都可以访问您的Web服务,并且此访问权限不应取决于它所使用的语言。

因此,您应该在您提供的回复中添加您要共享的所有信息。

答案 1 :(得分:1)

该Web服务是否存在于同一个应用程序中? 您如何执行登录,是否使用会员提供商来执行此操作?

也许你只能从

获得一个用户名
HttpContext.Current.User.Identity.Name

与您登录的用户对应的IPrincipal对象?

答案 2 :(得分:0)