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();
});
});
}
- 实现的类型
构造函数
属性
-
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