【发布时间】:2011-09-17 08:11:21
【问题描述】:
我在 ASP.Net 中有一个登录表单,当用户登录时,他会跳转到另一个包含 Flash 游戏链接的页面。
当用户点击 Flash 游戏链接时,Flash 游戏从 ASP.Net 调用会话,并在欢迎屏幕上显示 swf 文件中的用户名称,如果他获得高分,则保存他的高分。
下次登录时,他的高分会显示在屏幕上。
主要问题是如何从asp.net调用会话。
【问题讨论】:
标签: asp.net flash actionscript-3
我在 ASP.Net 中有一个登录表单,当用户登录时,他会跳转到另一个包含 Flash 游戏链接的页面。
当用户点击 Flash 游戏链接时,Flash 游戏从 ASP.Net 调用会话,并在欢迎屏幕上显示 swf 文件中的用户名称,如果他获得高分,则保存他的高分。
下次登录时,他的高分会显示在屏幕上。
主要问题是如何从asp.net调用会话。
【问题讨论】:
标签: asp.net flash actionscript-3
您需要在 Flash ActionScript 3.0 中使用 URLLoader,只需创建单独的 aspx 页面以在 Flash 中检索会话变量。欲了解更多信息,请查看link
不知道 aspx,但这里是 PHP 示例。
Actionscript 3.0
var current_session_id = stage.loaderInfo.parameters.session_id; // retrieve current session id from FlashVars.
var urlRequest:URLRequest = new URLRequest("your aspx page url");
var urlVariable:URLVariables = new URLVariables();
var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete);
btn_submit.addEventListener(MouseEvent.CLICK, btn_submit_click);
function btn_submit_click(e:Event)
{
urlVariable.session_id = current_session_id;
urlRequest.data = urlVariable;
urlLoader.load(urlRequest);
}
function urlLoader_complete(e:Event)
{
trace(e.target.data.test_var); // will get session variable.
}
PHP 代码
<?php
session_id($_REQUEST['session_id']);
session_start();
echo "test_var=".$_SESSION['your session varialbe'];
?>
注意:您需要将当前 session_id 与您的 aspx 页面 url 一起传递。否则您的后端 aspx 页面会生成新的会话 ID,您将无法获得正确的会话。
【讨论】: