HttpSession抽象 接口

HttpRequest.session 的一个 HttpRequest

在服务器上存储关于浏览器会话的任意信息。这些信息存储在内存中,因此当服务器退出时将丢失。

在浏览器中存储一个名为 "DARTSESSID" 的 Cookie,以将 HttpSession 与特定的客户端关联。

import 'dart:io';

void main() async {
  HttpServer.bind("localhost", 8080).then((server) {
    server.listen((request) {
      final session = request.session;
      if (session.isNew) {
        session["cart"] = [];
      }
      if (request.uri.queryParameters['buy'] != null) {
        final item = request.uri.queryParameters['buy'];
        session["cart"].add(item);
      }
      session["cart"].cast<String>().forEach(request.response.writeln);
      request.response.close();
    });
  });
}
实现的类型

构造函数

HttpSession()

属性

entries Iterable<MapEntry>
此的映射条目。
no setterinherited
hashCode int
此对象的哈希码。
no setterinherited
id String
当前会话的 ID。
no setter
isEmpty bool
映射中是否没有键/值对。
no setterinherited
isNew bool
会话是否尚未发送到客户端。
no setter
isNotEmpty bool
映射中是否至少有一个键/值对。
no setterinherited
keys Iterable
此的键。
no setterinherited
length int
映射中键/值对的数量。
no setterinherited
onTimeout ← void Function()
设置一个回调,当会话超时时将调用此回调。
no getter
runtimeType Type
对象运行时类型的表示。
no setterinherited
values Iterable
此的值。
no setterinherited

方法

addAll(Map other) → void
other 中的所有键/值对添加到此映射中。
inherited
addEntries(Iterable<MapEntry> newEntries) → void
newEntries 中的所有键/值对添加到此映射中。
inherited
cast<RK, RV>() Map<RK, RV>
提供对此映射为具有 RK 键和 RV 实例的视图,如果需要的话。
inherited
clear() → void
从映射中删除所有条目。
inherited
containsKey(Object? key) bool
判断此映射是否包含指定的 key
inherited
containsValue(Object? value) bool
判断此映射是否包含指定的 value
inherited
destroy() → void
销毁会话。
forEach(void action(dynamic key, dynamic value)) → void
action 应用到映射的每个键/值对上。
inherited
map<K2, V2>(MapEntry<K2, V2> convert(dynamic key, dynamic value)) Map<K2, V2>
返回一个新映射,其中此映射的所有条目都通过给定的 convert 函数转换。
inherited
noSuchMethod(Invocation invocation) → dynamic
当访问不存在的方法或属性时被调用。
inherited
putIfAbsent(dynamic key, dynamic ifAbsent()) → dynamic
查找 key 的值,如果不存在则添加一个新的条目。
inherited
remove(Object? key) → dynamic
如果存在,从映射中删除 key 和其相关值。
inherited
removeWhere(bool test(dynamic key, dynamic value)) → void
删除此映射中所有满足给定 test 的条目。
inherited
toString() String
此对象的一个字符串表示形式。
inherited
update(dynamic key, dynamic update(dynamic value), {dynamic ifAbsent()?}) → dynamic
更新提供的 key 的值。
inherited
updateAll(dynamic update(dynamic key, dynamic value)) → void
更新所有值。
inherited

运算符

operator ==(Object other) bool
等号运算符。
inherited
operator [](Object? key) → dynamic
给定 key 的值,如果 key 不在映射中,则为 null
inherited
operator []=(dynamic key, dynamic value) → void
key 与给定的 value 关联。
inherited