我正在制作一个.net组件,导致一个dll程序集,它将被一个asp.net站点引用,另一个项目由一个asmx webservice引用。所有代码都是2.0版。.net(asp和webservice)中的会话信息
该组件有一些调用外部web服务的函数,它返回一个对象。这些功能之一是例如登录(用户名,密码),其中为用户生成唯一的会话ID。结果信息和会话ID存储在组件中的变量中。
该网站的问题是: 当用户登录到前端,并且我的组件被调用并检查登录并生成会话ID时,我希望组件中的信息在用户浏览时保留网站中的另一个页面。
使用我的组件的Web服务中的问题是: 我并不十分在意会话状态,但我希望组件正常工作。如果每个呼叫生成一个新的会话ID,那没关系。
两种环境的结合导致以下问题对我来说:
- 我不能用我的组件asp.net会议()变量而不引用的System.Web,这是有点愚蠢的,在包括我的组件的Web服务项目可能无法使用
- 我不能计划我的组件作为一个单身,因为那样的话在网站上的应用程序,它的所有游客之间共享,覆盖会话和诸如此类的东西
- 形成阵列在我的组件中“会话信息”,并保持很难编程(wh en是否会失效?),并且可能无法在Web场环境中工作
有没有解决这种情况的方法?或者我应该创建两个组件实例,一个用于网站,另一个用于Web服务?
将它存储在数据库中? – Greg 2010-06-02 15:16:15
不幸的是,我将无法访问组件将被使用的数据库。 – Tominator 2010-06-02 15:31:51