我想知道是否可以在ASP.NET + C#中保留Session变量思想构建?
我问这个是因为每次我对我的应用程序做一个小改动并需要重建它时,我需要再次登录并在那之后做一个操作的麻烦......这需要花费我很多时间.
如果没有办法我可以设置一个测试模式,我将始终登录,或自动化登录过程...但它可以节省我在构建后保持会话的时间.
我有一个地狱的问题,我无法弄清楚我的生活.我为客户设置了一个超级简单的CMS.CMS的每个不同页面都包含名为session.php的文件.
session_start();
$username = $_SESSION['siteadmin'];
if (!$_SESSION['siteadmin']){
header( 'Location: login.php?status=2' );
}
Run Code Online (Sandbox Code Playgroud)
不时地,随机的东西会从数据库中消失.因此,我设置了一个原始日志系统,通过CMS记录任何操作.好吧,它再次发生了.日志显示:
Logged in **.**.237.209 17:18 <-- thats me
Deleted board member id 12 195.42.102.25 16:49
Deleted board member id 15 195.42.102.25 16:49
Deleted board member id 8 195.42.102.25 16:49
Deleted board member id 10 195.42.102.25 16:49
Deleted board member id 9 195.42.102.25 16:49
Deleted board member id 4 195.42.102.25 16:49
Deleted board member id 3 195.42.102.25 16:49
Deleted board member id 5 195.42.102.25 16:49
Deleted board member id …Run Code Online (Sandbox Code Playgroud) 你看下面的代码,我是如何使用会话变量的;所以这三个问题是:
。
sbyte[][] arrImages = svc.getImagesForFields(new String[] { "CustomerName", "CustomerSurName" });
Dictionary<string, byte[]> smartImageData = new Dictionary<string, byte[]>();
int i = 0;
foreach (sbyte[] bytes in arrImages)
{
smartImageData.Add(fieldNames[i], ConvertToByte(bytes));
i++;
}
Session.Add("SmartImageData", smartImageData);
Run Code Online (Sandbox Code Playgroud) 我在我的开发机器上使用php5和apache2.生产服务器显然是相似的.
我有一个脚本set_language.php,它根据所选语言创建一个会话变量:
<?php
session_start();
$back = $_SERVER['HTTP_REFERER'];
if (isset($_GET['lang'])) {
if ($_GET['lang'] == 'fr')
$_SESSION['lang'] = 'fr';
else if ($_GET['lang'] == 'en')
$_SESSION['lang'] = 'en';
}
header( "Location: $back" ) ;
exit();
?>
Run Code Online (Sandbox Code Playgroud)
然后我在所有页面上包含以下代码:
session_start();
if(isset($_SESSION['lang']) && $_SESSION['lang'] == 'en') {
require('lang_en.php');
}
else if(isset($_SESSION['lang']) && $_SESSION['lang'] == 'fr') {
require('lang_fr.php');
}
Run Code Online (Sandbox Code Playgroud)
我可以通过以下方式获得与语言相关的变量:
echo $lang[sometexttotranslate];
Run Code Online (Sandbox Code Playgroud)
在开发服务器上,它按预期工作.我点击链接设置语言,我的会话变量包含lang = en或fr
在生产服务器上:
$ _SESSION ['lang'] = dn或dr(应该是en或fr)
echo $ lang [sometexttotranslate] = d(应该是翻译文本)
知道"d"来自哪里?
这不是重定向/标头/ session_start()问题.
第一次加载时print_r($ _ SESSION): …
我来自像 PHP 或 ColdFusion 这样的语言:如果我想在用户的 http 会话中保存一些东西,我的行为是这样的:
SESSION["foo"] = "bar"
Run Code Online (Sandbox Code Playgroud)
现在我处于 Spring MVC 环境中。
例如,在 Controller 方法中,如何在会话中保存变量?
有人告诉我,会话范围的 bean可以胜任。
你能帮我一个简单的代码片段吗?
我有从另一个php页面上的表单发布的会话变量,我可以通过使用以下方式回显它们:
<?php $_SESSION['newsletterSignup'] = $_POST['newsletterSignup'];
echo "Email = ". $_SESSION['newsletterSignup'];
?>
Run Code Online (Sandbox Code Playgroud)
但我似乎无法将这些插入到HTML表单字段中:
<input type="text" name="email" id="email" size="36" "value="<?php echo $_SESSION['newsletterSignup'];?>" class="text-input" onBlur="emailval()" />
Run Code Online (Sandbox Code Playgroud) 我正在一个 Spring MVC 项目中工作,从我们使用的会话中获取值的位置..
session = request.getSession(false);
Object obj = (Object) session.getAttribute("sessionVeriable");
Run Code Online (Sandbox Code Playgroud)
凡为request是HttpServletRequest类对象从控制器传递。
我的观点是HttpServletRequest为什么不HttpSession直接传递对象。从 HttpServletRequest 和直接从 HttpSession 获取会话对象有什么区别吗?
我网站上的主页有一个包含两个字段的表单:Make of the Car(carmake)和Car Model(carmodel).提交后,它会将用户带到第二页,显示有关用户在主页上输入的特定品牌和型号的信息.
我使用post-method将变量传递给第二页,在那里我用两个变量开始一个新的会话:
<?php
session_start();
$_SESSION['carmake']=$_POST['carmake'];
$_SESSION['carmodel']=$_POST['carmodel'];
?>
Run Code Online (Sandbox Code Playgroud)
这很好用.在第2页,我有一个第3页的链接,它使用相同的两个会话变量.因此,在第3页,我使用会话功能启动页面,并且会话变量可供使用.到目前为止没问题.
从这一点开始,我遇到了两个问题:
问题1:我在第3页上有一个链接回第2页的按钮.当我使用此按钮返回第2页时,第2页不会回显会话变量.但是,如果我使用浏览器"后退"按钮返回第二页,我会被要求"确认重新提交",然后第二页正确回显会话变量.
我的问题1:如何在不丢失会话变量的情况下设计导航到以前访问过的页面?
问题2:有没有办法避免在先前访问过的使用会话变量的页面上"确认重新提交"(当使用浏览器后退按钮时)?
(我是这里的新手,并提前为长篇文章道歉,这可能是一个非常简单的问题.)
我的会话中有一组“产品”,一个产品是一组名称、代码和数量,我想在按下“qty_up”按钮时更改数量:
我的 PHP 是这样的:
if ($_POST['qty_up']==''){
foreach ($_SESSION["products"] as $key => $val)
{
if ($val["product_code"] == $_POST['code']) {
$val["product_qty"] += 1;
}
}
}
Run Code Online (Sandbox Code Playgroud)
这会更改 $val["product_qty"] 但不会更改会话中的实际值
这是我在会话中的“产品”数组:
array (size=1)
'products' =>
array (size=5)
213453 =>
array (size=5)
'product_qty' => string '1' (length=1)
'product_code' => string '213453' (length=6)
'product_name' => string 'Kingfisher' (length=10)
'product_price' => string '12.00' (length=5)
48754 =>
array (size=5)
'product_qty' => string '1' (length=1)
'product_code' => string '48754' (length=5)
'product_name' => string 'Minute maid' (length=11)
'product_price' => …Run Code Online (Sandbox Code Playgroud) 我正在运行 Mule 3 并且在 dataweave 1.0 上我有一个 JSON 有效负载(带有动态键和值),它发生在 For Each 循环内。示例数据如下:
{
"094d29c7-6abf-4acb-8513-e1d2d2b8998a": "900145600114256"
}
Run Code Online (Sandbox Code Playgroud)
键是 UUID,值是标识符。我需要将值存储在 sessionVar 中。有人可以帮助我使用 dataweave 1.0 从上面提取 JSON 值 (900145600114256) 吗?提前致谢。
session-variables mule mule-component anypoint-studio dataweave