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> - 此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< ) → Map<K2, V2> convert(dynamic key, dynamic value)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
关联。继承