asp下读取asp.net下的session变量的想法,谁有更好的办法???

蝈蝈俊 2003-04-02 10:23:39
asp下如何读取asp.net下的session变量???

我想了想,好像只有在asp.net下写一个.net组件,这个组件只完成返回session值,设置session值。两个功能;

然后写个com组件(同时也是asp组件),这个组件访问上面的.net组件,从而实现asp下读取asp.net下的session值。(微软的技术文档中有com跟.net交互的文章)

不知这个想法可不可行??谁有更好的想法??
另外对于这个想法谁有更好的补充??



...全文
395 48 打赏 收藏 转发到动态 举报
写回复
用AI写文章
48 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxn1979125 2003-05-07
  • 打赏
  • 举报
回复
用XML就可以了嘛
hareqiqi 2003-05-07
  • 打赏
  • 举报
回复
能保存到数据库,为何不保存到application,这样效率肯定高
ZIPIII 2003-04-21
  • 打赏
  • 举报
回复
我记的有篇文章讲过:ASP和ASPX的SESSION所保存的路径不一样。只可惜我找不到那篇文章了,哪位知道,请尽快通知一下。
daiping99 2003-04-20
  • 打赏
  • 举报
回复
1对每一用户session设登录标记i
首页判断
if i=1 then session("name")="" then
读取
end if
2对无限制用户的session变量
读取cookie值

daiping99 2003-04-20
  • 打赏
  • 举报
回复
当用户一进入页面然后将session值存入DB中。ASPX和ASP页可读取。这样,也可必免用户刷
新页面时,session值的丢失。
daiping99 2003-04-19
  • 打赏
  • 举报
回复
将session值存入数据库中,然后读取!
mnm0756 2003-04-19
  • 打赏
  • 举报
回复
mark!
老譚山菜 2003-04-18
  • 打赏
  • 举报
回复
To ljfppp(刘三疯)

asp和asp.net使用各自的session有一个问题就是:
如果用户一直在访问asp的页面,等到返回asp.net页面后,
asp.net的session却有可能超时了,这种情况该如何处理呢?
dotAge 2003-04-17
  • 打赏
  • 举报
回复
这问题早就讨论过呀,用临时COOKIE即可。
第一,既然你要传SESSION,显然必须在同一个站上,因此用COOKIE没有跨域的问题。
第二,要传的内容主要是登录信息之类的信息,量不会很大,COOKIE也能胜任。

以下是一个示例:
test.asp
=========================
<html>
<head>
<title>asp session to asp.net</title>
</head>
<body>
<a href="test.aspx">asp.net</a>
<%
Response.Cookies("mycookie")("type1") = "sugar"
Response.Cookies("mycookie")("type2") = "ginger snap"
%>
</body>
</html>

test.aspx
===========================================
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="test.aspx.vb" Inherits="test"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>test</TITLE>
<META NAME="GENERATOR" CONTENT="Microsoft Visual Studio.NET 7.0">
<META NAME="CODE_LANGUAGE" CONTENT="Visual Basic 7.0">
<META NAME="vs_defaultClientScript" CONTENT="JavaScript">
<META NAME="vs_targetSchema" CONTENT="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<BODY MS_POSITIONING="FlowLayout">
<FORM ID="Form1" METHOD="post" RUNAT="server">
<ASP:LABEL ID="ck1" RUNAT="server"></ASP:LABEL><BR>
<ASP:LABEL ID="ck2" RUNAT="server"></ASP:LABEL><BR>
</FORM>
</BODY>
</HTML>

test.aspx.vb
=================================
Imports System.Web

Public Class test
Inherits System.Web.UI.Page
Protected WithEvents ck1 As System.Web.UI.WebControls.Label
Protected WithEvents ck2 As System.Web.UI.WebControls.Label

#Region " Web Form Designer Generated Code "

'This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

End Sub

Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub

#End Region

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim ck As HttpCookie
ck = Request.Cookies("mycookie")
ck1.Text = ck("type1")
ck2.Text = ck("type2")

End Sub

End Class
csdnprogrammer 2003-04-12
  • 打赏
  • 举报
回复
I don't know
lilyfirstone 2003-04-11
  • 打赏
  • 举报
回复
mark
youngby 2003-04-11
  • 打赏
  • 举报
回复
藏勒
蝈蝈俊 2003-04-10
  • 打赏
  • 举报
回复
如果不考虑安全性问题,只要保证数台服务器都在一个域里面,比如这样的服务器:
http://www.csdn.net/
http://expert.csdn.net/
http://search.csdn.net/
可以通过Cookies的domain来设置通用一个用户状态。
chookrib 2003-04-10
  • 打赏
  • 举报
回复
gz
timmy3310 2003-04-09
  • 打赏
  • 举报
回复
呵呵
fa2002 2003-04-09
  • 打赏
  • 举报
回复
ghj1976 (蝈蝈俊.net) :今天仔细一看本贴才20分,好歹也是大牌,一出手怎么这么小气啊。 :)
思归一放就是300啊 :P
chookrib 2003-04-09
  • 打赏
  • 举报
回复
z
蝈蝈俊 2003-04-09
  • 打赏
  • 举报
回复
to : fa2002
我从来不放分,象非技术的问题,我一般都是0分,我不想让任何想捞分的人到我的帖子里面,我只想讨论。
蝈蝈俊 2003-04-08
  • 打赏
  • 举报
回复
to :ljfppp(刘三疯)

建议你看:《application center 专家指南》 这本书。清华翻译的,wrox出版的,红皮的。计算机书店有售。

StateServer -- 使用专用的进程来管理"会话状态"。这是ASP.NET引入的一个新技术。.NET提供了一个后台进程来专门管理会话状态,这使得会话状态不再局限在一台计算机上,多台提供Web服务的计算机可以共用一台计算机的一个后台进程来专门管理会话状态,使得会话状态变量在WEB FARM中的使用成为可能,从而极大的提升了程序的可扩充性能。但是StateServer的会话状态变量存取要跨越进程甚至是网络,其速度比InProc要慢许多,而且多台Web服务器共享一个后台进程来管理"会话状态"会有潜在的可靠性问题。一旦这个后台进程出现问题,那么多台Web服务器将同时丢掉所有的状态信息。用术语来说,StateServer 是一个"Signle Point Failure"。在理论上讲,这不是一种理想的方案。

另外如果多台Web服务器共享一个StateServer,那么你可能还要修改machine.config里的machine key(用来加密会话状态数据的)。多台Web服务器要使用同样的设置。validationKey和decryptionKey是一个40-128位长的16进制的字符串。例如


<machineKey
validationKey="123456789adcdef123456789adcdef123456789adcdef123456789adcdef"
decryptionKey="abcd123456789adcdefabcd123456789adcdefaaa123456789adcdef000"
validation=SHA1"

copy自:

http://luyu.net/list.aspx?sid=727&fid=7
ljfppp 2003-04-07
  • 打赏
  • 举报
回复
faint,我第一次做系统,就碰到了系统集成的问题,而且是不通厂商的系统集成,看来我是倒霉透了.系统集成要求:
1:用户登入时,同时初始化两套系统(asp和asp.net)的session
2:要求在主页面中显示两套系统的东西(主要时流程信息)
3:实现两套系统的互访

我现在时这样做的:
登入页面是asp.net,在登入的时候调用一个asp页面,这个页面的功能是初始化asp系统中的session,当然,这个asp页面是放在asp系统中的,初始化系统后,各自的session保存在各自的系统中

两套系统之间互访是通过一个中转页面进行的,比如asp要访问asp.net,就访问asp.net中的一个页面bridge.aspx,在bridge.aspx中觉定怎么调用asp.net系统

为了保证asp访问asp.net时的域和asp.net系统内部的域相同,我的主页面是在asp.net系统中的,在主页面中嵌套了asp页面

还有一点我不明白:服务器怎么判断程序域的?也就是服务器怎么判断不同的页面可以访问同一个session?谢谢
加载更多回复(28)
此文档是从实际项目中总结出来的,互联网上只有“在单一页面进行语言切换”的教程, 没有“一键切换”的解决方案,更没有同时把5种读取资源文件总结在一起的demo。 本文档重点 1.多种读取方式 2.一键全站切换 步骤 一:新建一个asp.net 空 web应用程序“Internationalization”(图1) 二:右键“Internationalization”--->添加--->添加ASP.NET文件夹--->App_GlobalResources 三:右键“App_GlobalResources”--->添加--->新建项--->资源文件--->GlobalLanguage.resx 四:在GlobalLanguage.resx里添加键值对.(图二) 五:连续复制“GlobalLanguage.resx”两次到“App_GlobalResources”下面,并修改名称为 GlobalLanguage.en-US.resx GlobalLanguage.zh-CN.resx 说明:(为什么会有三个文件呢?系统必须有一个默认文件“GlobalLanguage.resx”,两种语言两个文件.) 六:修改英文和中文资源文件里的键值对。 说明(网上大多做法都是把语言设置为浏览器自动识别语言, 这种方式在实际项目中一般不用,所以直接讲解用程序来控制) 七:添加language1.aspx (图3,4) 八:添加language2.aspx (图5),在设计模式下“工具”--->“生成本地资源”,会自动添加一个“App_LocalResources” 和第五步一样,添加再添加两个资源文件。 language2.aspx.zh-CN.resx language2.aspx.en-US.resx 说明(一键全站切换的实现方法有多种,这里只讲最有效的,编写一个基类,在里面设置一个全局变量lan,所有 页面都继承这个基类,再通过程序修改变量lan,用Session最简单,但是用户过多时对内存的消耗很大, 还可以用数据库和配置文件,但是最好用Cookie,所以下面以Cookie为例子) 九:新建一个母板页“language.Master”(图6,7) 十:添加language3.aspx (图8,9),必须继承Base类 十一:添加language4.aspx (图10),必须继承Base类

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧