HttpSession抽象 接口

HttpRequest.sessionHttpRequest

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

在浏览器上存储一个名为"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();
    });
  });
}
实现类型

属性

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

方法

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

运算符

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