如果以前曾经问过我,我会道歉,但我还没有找到我头脑中的具体问题.
对于我正在构建的网站(使用ASP.NET MVC) - 性能是一个重要特性.此外,该站点有可能托管在应用程序池每20分钟回收一次的环境中(或者如果达到内存阈值则更快).我希望完全独立于依赖会话变量,而是在cookie中存储类似GUID的值.我的理由是 - 我不知道会话将持续多长时间,因为AppPool回收并且不希望他们的会话过早超时并导致他们必须重复登录.
cookie中的GUID值将充当表的查找键,其中我存储类似会话的信息(用户ID值等).所以如果我需要那些数据,我可以从数据库中检索它.我仍然会利用Session_OnEnd事件清除那个"最后活动"值超过20分钟(或者长会话配置为持续时间)的行的会话表.所以我想我仍然会使用会话状态,而不是会话变量.
不过,我的担忧是关于表现.因此,我很好奇是否有更好的方法可以避免使用会话变量,同时仍然能够知道用户是谁,并以"类似会话"的方式管理他们对网站的访问.我仍然是MVC的新手,但多年来在ASP.NET中有很多经验,所以我希望我的问题有道理!
编辑:我有点害怕想要使用SQL会话状态,因为我可能会在共享的SQL服务器托管环境中,并且如果有必要删除,我认为我没有能够创建/运行作业的登录过期的sql会话数据等.在AppPool回收方案中依赖于Session_OnEnd和cookie有任何真正的缺点吗?对于AppPool回收时当前的会话,Session_OnEnd是否可以执行?
我正在尝试创建一个简单的登录表单.我有session_start(); 作为页面上加载的第一件事.我有一个文件login.php,其中包含登录相关代码,当单击Login按钮时,该代码通过ajax调用处理.它包含:
if ($_GET['cemail']) {
$email = $_GET['cemail'];
$password = md5($_GET['cpassword']);
$sql = "select * from users where email='" . $email . "' and password='" . $password . "'";
$result = mysql_query($sql);
if (mysql_num_rows($result) >= 1) {
session_register("email");
}
else {
echo "<span style='color:#ffffff;'>Invalid Email/Password</span><br>";
}
}
Run Code Online (Sandbox Code Playgroud)
当我单击"登录"按钮时,我收到此警告:
警告:session_register()[function.session-register]:无法发送会话缓存限制器 - 已在/ home/clicker/public_html中发送的报头(在/home/clicker/public_html/hstrial-RBochner/login.php:1处开始输出)第82行/hstrial-RBochner/login.php
第82行是说的session_register("email");
我也尝试创建一个只调用的Logout按钮session_destroy(),但它给了我:
警告:session_destroy()[function.session-destroy]:尝试在第66行的/home/clicker/public_html/hstrial-RBochner/login.php中销毁未初始化的会话
我在这做错了什么?我试过放在session_start()各个地方.任何帮助/想法?谢谢.
会话启动时如何在Global.asax页面事件中将Session值设置为空("")字符串?可以请任何帮助我.
我无法让注销按钮正常运行.我已经为_header.html.erb部分添加了一个测试,它将添加一个链接来显示current_user是否为nil.单击"帐户"列表项下的"注销"链接后,仍会显示它不是"无".并且它从不显示登录链接,因此它始终认为有用户登录.
有人可以看一下吗?
这是我的存储库的链接:
ruby session ruby-on-rails session-variables session-cookies
我有一个带有两个不同servlet的jetty容器,然后调用A和B.在特殊情况下,qr代码代码出现在servlet A中(用户已经登录并正在使用他的桌面)和用户使用他的移动设备读取此qr代码并将其重定向到其移动设备上的servlet B. 这里的问题是我无法保持他的会话.
QR码带来用户会话密钥,但我无法验证此会话是否有效.我想知道是否有任何特殊的方法来请求jetty上的有效会话密钥,因为两个servlet都在同一个服务器上.
我将从servlet过滤器返回到Facelets页面的消息.要将消息从servlet过滤器传输到Facelets页面,我使用的是会话变量.显示消息后,我想删除会话变量.如何实现这一目标?还有另一种方法将数据从servlet传递给Facelets吗?
我想将javascript值插入php会话变量但在javascript函数中.
这是我尝试过的,它不起作用:
function languageChange()
{
var lang = $('#websites1 option:selected').val();
<?php $_SESSION['SESS_LANGUAGE']?> = lang;
alert(<?php echo $_SESSION['SESS_LANGUAGE']?>);
}
Run Code Online (Sandbox Code Playgroud) JSP代码是:
<jsp:useBean id="person" class="org.example.model.PersonModel" scope="session">
</jsp:useBean>
<br> Name : <jsp:getProperty property="name" name="person"/>
<br> Surname : <jsp:getProperty property="surname" name="person"/>
Run Code Online (Sandbox Code Playgroud)
虽然我在request范围内设置了java对象,而不是在sessionController Servlet 中的范围内,我将请求转发给此Servlet.<jsp:useBean>虽然标记中提到的范围是会话,但如何获取请求属性?如果它用于pageContext.findAttribute()获取属性,那么在该<jsp:useBean>标记中使用scope属性有什么用?
我有一个奇怪的问题,基本上我有一个使用会话的购物车.当我使用IIS7部署网站时,一切看起来都很好.我在一台电脑上为会话添加了一个产品,它显示在我的购物篮中.当我从另一台PC访问该网站时,篮子里面有这个项目!! ??
我的理解是每个用户浏览器的会话实例是唯一的这是正确的吗?如果是这样,我怎么设法做到这一点?我知道它可能是一些愚蠢但我无法弄清楚,任何帮助非常感谢!
我的会话购物车代码如下
#region Singleton Implementation
public static readonly ShoppingCart Instance;
static ShoppingCart()
{
// If the cart is not in the session, create one and put it there
// Otherwise, get it from the session
if (HttpContext.Current.Session["sCart"] == null)
{
Instance = new ShoppingCart();
Instance.Items = new List<CartItem>();
HttpContext.Current.Session["sCart"] = Instance;
}
else
{
Instance = (ShoppingCart)HttpContext.Current.Session["sCart"];
}
}
protected ShoppingCart() { }
#endregion
Run Code Online (Sandbox Code Playgroud) 我最近部署了我的第一个Flask应用程序(实际上是第一个Web应用程序),我遇到的一个问题是没有运气跟踪与会话有关.
我正在做的是当用户登录我设置时session['user'] = user_id发生的事情是我在发出涉及该会话密钥的请求时偶尔会出现密钥错误.如果我再次尝试发出请求,会话密钥就在那里,请求正常.我已经做了研究并设置了app.config['SERVER_NAME']我的域并确保它secret_key是静态的,它之前是动态的.
在我的本地开发服务器上不会发生这种情况,所以我在这一点上有点难过.
session ×3
asp.net ×2
c# ×2
java ×2
php ×2
asp.net-mvc ×1
flask ×1
global-asax ×1
javascript ×1
jetty ×1
jsf-2 ×1
jsp ×1
performance ×1
python ×1
request ×1
ruby ×1
servlets ×1
usebean ×1