远程调用SESSION问题,最好给出个例子 ~高手进
我有2个工程,分别在PC1,PC2PC1的项目中某个页面有个SESSION,PC2上怎么调用这个SESSION --------------------编程问答-------------------- 有人说达到SESSION共享只能用2中方法 1是REMOTING 2是对象序列话,请教高手如何用REMOTING方法远程传递,最好有个 代码示例
--------------------编程问答-------------------- 两个工程之间的session调用?
没用过,不如试试用Cookies --------------------编程问答-------------------- 顶起来,非常关注 --------------------编程问答-------------------- 孟子老师进下~现在我发现好多这样的 问题 --------------------编程问答-------------------- 有办法吗做到? --------------------编程问答-------------------- 好象自定义SESSION ASP.NET同ASP差不多.
需要自定义SESSION处理事件...
网上应该很多文章介绍了..
在处理事件里写公共的数据库. 也可以是专门的一台 State Server ASP.NET特有的一种服务...
也可以用 memcached server.
--------------------编程问答-------------------- 代码如下:
JPF.webservice.WebReference.ServiceCom Service = new JPF.webservice.WebReference.ServiceCom();
string UID = this.TextBox1.Text.Trim().ToString();
string UPass = this.TextBox2.Text.Trim().ToString();
if(Service.CheckedIsLogin(UID,UPass) == true)
{
this.PageFrame.StatusText = "YES";
Session["Login"] = true;
}
问题----- 怎么让这个Session["Login"]在另外台机器上的项目里使用 --------------------编程问答-------------------- 继续顶起来,快点讨论啊
--------------------编程问答-------------------- UP --------------------编程问答-------------------- 帮忙顶 --------------------编程问答-------------------- 查阅了一下资料,说SESSION达不到这样的效果,用COOKIE实现跨域跨站共享,具体怎么实现有人用过么,至于安全问题,可以采用COOKIE加密的形式 --------------------编程问答-------------------- SESSION不可能跨域 --------------------编程问答-------------------- 恩请教高手COOKIE跨域跨站共享怎么写~给个代码示例 --------------------编程问答-------------------- passport.xxx.com/apiGetSession.php?skey=10001
返回
echo "var retData=".json_encode($_SESSION[$_GET['skey']]).";";
--------------------编程问答-------------------- 通过Response.Writer()写脚本的方式,建立一个中间页面,将Session值通过提交表单submit的方式传到PC2上的页面 --------------------编程问答-------------------- 我搜索了很多关于session操作的方法,很多人都说它很难操作而且很容易丢失等。传值或赋值最好还是用三层架构来实现。 --------------------编程问答-------------------- 使用Linq to SQL 或者别的什么Linq to XXX,把数据在内存与外存(磁盘或者虚拟硬盘)同步保存。
嗯,放弃使用Session集合比较好。Session.SessionID这个数值还有点用,否则完全可以禁用Session。 --------------------编程问答-------------------- 你也可以使用面向对象的数据库,例如“Caché数据库”等,来做状态服务。只要编程简练就行(关系数据库操作编程太繁琐了)。
如果你的业务数据库本来就是一种接近面向对象风格的数据库,那么你无需考虑使用一种中间状态数据服务,直接把中间状态与全部业务数据设计在一个数据库中就好了。
不但多个工程,即使多个服务器都可以共享数据库。 --------------------编程问答-------------------- OK,你也可以使用WCF或者Remoting在后台单独出一个业务逻辑服务,所有的前端asp.net应用程序工程访问这个业务逻辑服务。这也是大型系统(例如电信、银行、零售连锁)的解决之道,适合随时添加、迁移各种应用服务器、portal系统的情况。 --------------------编程问答-------------------- 总之,如果数据不想“丢失”,就需要数据库。不管这个数据库是指内存数据库还是一个远程服务或者传统的关系数据库,总之在设计后台数据时为那些业务数据多设计一个“SessionID”字段就好了。除了SessionID值需要使用以外,完全可以禁用Session的。 --------------------编程问答-------------------- 顺便说一下,asp.net(以及iis)设计为“稳定、可重启”的系统,你看asp.net和iis的很多功能都是这样设计的。当远程客户端两次访问同一个页面之间,如果服务器重启了,应该并不影响会话状态。我们都知道如果有程序员在Session中保存数据,一定不是当作Cache,而是确实需要在会话的生命周期中持久地保存数据。可是asp.net的Session却默认使用“Inproc”方式管理,在服务重启时丢弃数据,这真是败笔。这也是“不要使用Session”的最主要理由。 --------------------编程问答-------------------- 《asp.net揭密》上的方法
asp.net的session可以保存在数据库中,用C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallSqlState.sql创建数据库,更改Web.Config<sessionState mode="SQLServer" sqlConnectionString="..." />
补充:.NET技术 , ASP.NET