Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 从闪存cookie读取和处理数据_Asp.net_Ajax_Flash_Cookies_Lso - Fatal编程技术网

Asp.net 从闪存cookie读取和处理数据

Asp.net 从闪存cookie读取和处理数据,asp.net,ajax,flash,cookies,lso,Asp.net,Ajax,Flash,Cookies,Lso,我想创建一个flash swf文件,它将在本地共享对象中存储一个令牌。 我需要做什么来读取该令牌并在后端的数据库中查找它?这可能吗 以下是一种可能的情况: 用户访问我的网页 令牌在服务器上生成并存储在数据库中 然后将令牌保存在LSO中 用户离开站点(可能关闭计算机),稍后再回来 令牌被读取,位于数据库中,用户被识别(假设令牌是一个外键,链接到数据库中存储的其他用户数据) 我对此进行了一段时间的研究,我发现flash可以使用LSO存储flash电影的读取数据。。。这是否意味着服务器无法访问数据 谢

我想创建一个flash swf文件,它将在本地共享对象中存储一个令牌。 我需要做什么来读取该令牌并在后端的数据库中查找它?这可能吗

以下是一种可能的情况:

  • 用户访问我的网页
  • 令牌在服务器上生成并存储在数据库中
  • 然后将令牌保存在LSO中
  • 用户离开站点(可能关闭计算机),稍后再回来
  • 令牌被读取,位于数据库中,用户被识别(假设令牌是一个外键,链接到数据库中存储的其他用户数据)
  • 我对此进行了一段时间的研究,我发现flash可以使用LSO存储flash电影的读取数据。。。这是否意味着服务器无法访问数据


    谢谢大家!

    是的,这是可能的,但您需要将其视为两种不同的操作。一方面存储和读取SharedObject,另一方面与服务器通信并查询数据库

    您可以使用ZendAmf服务器与PHP进行通信。您可以将SharedObject数据发送到PHP以进行数据库查询,当数据库返回结果时,ZendAmf会向Flash发送响应


    Lee Brimelow对此进行了检查

    因为您已经用asp.net标记了这个问题,我相信存储/检索/验证cookie对您来说不会是问题

    另外,如果你需要在asp.net中使用cookies的帮助,网络上充满了如何使用cookies的内容。保存笔划的方法之一:

    因此,如果密码、用户详细信息等数据不是“令牌”所指的数据,那么您只需将令牌作为一种查询字符串传递。这可以使用FlashVar完成

    访问链接进行一次很好的小练习


    编辑

    我只是指出asp做得很优雅

    使用从LSO读取的标记来记住用户

    var token:SharedObject;
    token = SharedObject.getLocal("UserToken");
    
    if (token.data.value==undefined)
        token.data.value = ?; // Pass the User token here while writing
    else            
        ? = token.data.value; // Use the values while reading
    
    如果希望使用本地共享对象示例,请执行以下操作:


    但请记住,在用户不知情的情况下储存物品是不可取的。因此,一定要尽力让用户知道,网站会记住他。记得我吗

    本地共享对象更像本地存储,而不像cookie。术语“flashcookie”从最终用户的角度来看有点合适,但从技术上讲,LSO不像cookie,它不会在HTTP请求中自动发送。相反,客户端上的代码需要从LSO读取值并显式地将其发送到服务器。

    我部分同意PatrickS;您想要的功能应该被看作是一组不同的过程。但我认为这一套的尺寸是3,而不是2:

  • 能够在数据库中插入和检索数据的过程
  • 一种能够在客户机和服务器之间传输数据的过程
  • 能够在LSO中插入和检索数据的过程
  • 因此,服务器无法创建或访问LSO数据。但是,可以代表服务器创建或访问(并发回)。最好使用
    ExternalInterface
    ,如下所示:

  • 将处理LSO数据的Actionscript代码封装在方法中
  • 使用
    ExternalInterface.addCallback()
    将该方法注册到预期Flash应用程序的外部接口中
  • 编译Flash应用程序,并在HTML中创建一个引用生成的.swf文件的元素
  • 创建HTML元素的
    domeElement
    表示,并调用#1中的方法,该方法现在应定义为
    domeElement
    的成员
  • 如果你不想经历这一切的麻烦,那就去看看吧;它是一个Javascript库,建立了一个统一的接口,可用于在所有本机和一些非本机存储设施(包括Flash本地共享对象)中执行公共存储操作

    有了它,创建LSO可以通过以下简单代码完成:

    bakedGoods.set({
        data: [{key: "key", value: "value"}],
        storageTypes: ["flash"],
        complete: function(byStorageTypeRemovedItemKeysObj, byStorageTypeErrorObj){/*code*/}
    });
    

    检索和删除数据同样简单。相信我,我知道;我是它的维护者:)

    “客户端上的代码需要从LSO读取值并显式地将其发送到服务器。”-如何?您是正确的,使用asp.net保存cookie不是问题。然而,我把LSO称为FlashCookie只是为了用一个更简单的词。我特别需要在LSO中存储用户令牌,原因如下:1。常规cookie是特定于浏览器的。2.用户可以轻松删除常规cookie。3.我需要识别这台电脑。