当浏览器关闭时运行服务器端功能

2024-01-06

背景:我正在使用 C# 代码隐藏创建一个非常简单的类似聊天室的 ASP.NET 页面。当前用户/聊天消息显示在位于 AJAX 更新面板内的控件中,并使用计时器 - 它们每隔几秒从数据库中提取信息。

我试图找到一种简单的方法来处理将用户退出浏览器时的状态设置为“离线”,而不是点击“注销”按钮。 IsOnline 的“离线”状态当前仅为 1 个字符 (y/n)。

到目前为止,我已经用Javascript研究了window.onbeforeunload,在这个事件上设置了一个带有函数的隐藏表单变量 - >当然,问题是,我仍然需要在我的代码隐藏中的某个地方测试这个隐藏表单变量最终的服务器端数据库查询,有效地将用户设置为离线。

我可能完全混淆了这个可能简单的问题!当然,我会很感激任何完全不同的替代建议。

Thanks


我怀疑你找错了树。请记住,用户可能会突然失去互联网连接,浏览器可能崩溃,或者使用红色大开关关闭计算机。在某些情况下,服务器根本不会再收到浏览器的消息。

做到这一点的最好方法是使用“死人开关”。既然您说他们每隔几秒就从数据库中提取信息,请利用这个机会存储(在数据库中)您上次从给定客户端收到消息的时间戳。

每隔一分钟左右,在服务器上执行一次查询以查找几分钟内未轮询的客户端,并将用户设置为离线......所有这些都在服务器上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当浏览器关闭时运行服务器端功能 的相关文章

  • 是否可以强制 XMLWriter 将元素写入单引号中?

    这是我的代码 var ptFirstName tboxFirstName Text writer WriteAttributeString first ptFirstName 请注意 即使我使用 ptFirstName 也会以双引号结束 p
  • 将数组向左或向右旋转一定数量的位置,复杂度为 o(n)

    我想编写一个程序 根据用户的输入 正 gt 负 include
  • UML类图:抽象方法和属性是这样写的吗?

    当我第一次为一个小型 C 项目创建 uml 类图时 我在属性方面遇到了一些麻烦 最后我只是将属性添加为变量 lt
  • 什么可以解释托管堆上超过 5,000,000 个 System.WeakReference 实例?

    我一直在针对生产 ASP NET Web 应用程序运行负载测试 并且看到在堆上创建了大量 System WeakReference 在大约 15 分钟内 负载管理堆内存已飙升至大约 3GB 并且我有大约 5 000 000 个对 Syste
  • 在 Visual Studio 2008 上设置预调试事件

    我想在 Visual Studio 中开始调试程序之前运行一个任务 我每次调试程序时都需要运行此任务 因此构建后事件还不够好 我查看了设置的 调试 选项卡 但没有这样的选项 有什么办法可以做到这一点吗 你唯一可以尝试的 IMO 就是尝试Co
  • C 预处理器库

    我的任务是开发源分析工具C程序 并且我需要在分析本身之前预处理代码 我想知道什么是最好的图书馆 我需要一些重量轻 便于携带的东西 与其推出自己的 为什么不使用cpp这是的一部分gcc suite http gcc gnu org onlin
  • C# 中的递归自定义配置

    我正在尝试创建一个遵循以下递归结构的自定义配置部分
  • 在数据库中搜索时忽略空文本框

    此代码能够搜索数据并将其加载到DataGridView基于搜索表单文本框中提供的值 如果我将任何文本框留空 则不会有搜索结果 因为 SQL 查询是用 AND 组合的 如何在搜索 从 SQL 查询或 C 代码 时忽略空文本框 private
  • 将自定义元数据添加到 jpeg 文件

    我正在开发一个图像处理项目 C 我需要在处理完成后将自定义元数据写入 jpeg 文件 我怎样才能做到这一点 有没有可用的图书馆可以做到这一点 如果您正在谈论 EXIF 元数据 您可能需要查看exiv2 http www exiv2 org
  • for循环中计数器变量的范围是多少?

    我在 Visual Studio 2008 中收到以下错误 Error 1 A local variable named i cannot be declared in this scope because it would give a
  • 如何将单个 char 转换为 int [重复]

    这个问题在这里已经有答案了 我有一串数字 例如 123456789 我需要提取它们中的每一个以在计算中使用它们 我当然可以通过索引访问每个字符 但是如何将其转换为 int 我研究过 atoi 但它需要一个字符串作为参数 因此 我必须将每个字
  • 如何在 VBA 中声明接受 XlfOper (LPXLOPER) 类型参数的函数?

    我在之前的回答里发现了问题 https stackoverflow com q 19325258 159684一种无需注册即可调用 C xll 中定义的函数的方法 我之前使用 XLW 提供的注册基础结构 并且使用 XlfOper 类型在 V
  • 将 xml 反序列化为类,list<> 出现问题

    我有以下 XML
  • 自定义错误页面未显示

    由于某种原因 当我收到 ASP NET 运行时错误时 它不会加载我的自定义错误页面
  • 需要哪个版本的 Visual C++ 运行时库?

    microsoft 的最新 vcredist 2010 版 是否包含以前的版本 2008 SP1 和 2005 SP1 还是我需要安装全部 3 个版本 谢谢 你需要所有这些
  • WCF:将随机数添加到 UsernameToken

    我正在尝试连接到用 Java 编写的 Web 服务 但有些东西我无法弄清楚 使用 WCF 和 customBinding 几乎一切似乎都很好 除了 SOAP 消息的一部分 因为它缺少 Nonce 和 Created 部分节点 显然我错过了一
  • C - 直接从键盘缓冲区读取

    这是C语言中的一个问题 如何直接读取键盘缓冲区中的数据 我想直接访问数据并将其存储在变量中 变量应该是什么数据类型 我需要它用于我们研究所目前正在开发的操作系统 它被称为 ICS OS 我不太清楚具体细节 它在 x86 32 位机器上运行
  • const、span 和迭代器的问题

    我尝试编写一个按索引迭代容器的迭代器 AIt and a const It两者都允许更改容器的内容 AConst it and a const Const it两者都禁止更改容器的内容 之后 我尝试写一个span
  • C 中的异或运算符

    在进行按位操作时 我在确定何时使用 XOR 运算符时遇到一些困难 按位与和或非常简单 当您想要屏蔽位时 请使用按位 AND 常见用例是 IP 寻址和子网掩码 当您想要打开位时 请使用包含或 然而 XOR 总是让我明白 我觉得如果在面试中被问
  • 恢复上传文件控制

    我确实阅读了以下帖子 C 暂停 恢复上传 https stackoverflow com questions 1048330 pause resume upload in c 使用 HTTP 恢复上传 https stackoverflow

随机推荐

  • 使用 jquery 检测单击了哪个列表元素(列表是动态添加的)

    Case1 列表已经存在于 html 中 ul li One li li Two li ul 使用检测到单击的 li 元素 list1 li bind click function alert this html 上面工作正常 Case 2
  • 在C++中从JNI调用Java Jar代码

    我正在尝试模仿这个 http snuggletex sourceforge net maven xref uk ac ed ph snuggletex samples MinimalExample html http snuggletex
  • 为什么 cmath pow 给出的答案不准确?

    在 C 11 中 pow 1061 6 1426567426713180416 检查最后 3 位数字 我确信结果是错误的 因为 1061 6 1426567426713180361 但另一种方法做得对 long a 1 for int i
  • 如何在web.config转换过程中添加文件?

    我正在使用 Visual Studio 2012 开发一个网站 web config 当前在其转换中包含以下文件 web 调试 config web Release config 我最近在我的项目中添加了一个新的构建配置 名为 Stagin
  • 从字典中随机输入

    从 C 字典中获取随机条目的最佳方法是什么 我需要从字典中获取一些随机对象以显示在页面上 但是我无法使用以下内容 因为字典无法通过索引访问 Random rand new Random Dictionary lt string object
  • Magento Grid - 将平面表连接到 EAV 后排序和过滤工作不正确

    我有 2 个定制系列 具有平面数据的常见集合 我需要将他们加入到客户选择中 它与innerJoin 配合使用效果很好 但对连接字段进行过滤和排序不起作用 我该如何解决这个问题 prepareCollection 示例 collection
  • 如何在给定分支中查找文件

    我注意到 在进行代码查看时 我公司的人们通常只给出完成工作的分支 而没有其他任何信息 所以我想一定有一种简单的方法来找出给定分支中具有版本的所有文件 这与查找所有文件是一样的 这已经改变了 是的 我不知道在某个分支中查找文件的预期 简单方法
  • 简单&小,纯javascript灯箱(对话框覆盖)? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道一个用纯 JavaScript 构建的小型 功能有限的灯箱 这是针对可嵌入小部件的 因此不使用
  • 如何在 C/C++ 中将字符串从 UTF8 转换为 Latin1?

    我的问题很简单 但到目前为止我找不到解决方案 如何转换UTF8编码string到 latin1 编码string在 C 中不使用任何额外的库 如 libiconv 到目前为止我能找到的每个例子都是用于 latin1 到 UTF8 的转换 t
  • 在新的弹出窗口中打开标题位置?

    我想看看是否可以打开这样的标题位置 if GET id 99993 header Location page php 并让它在 jQuery 弹出窗口中打开 prettyPhoto 是一个在线 jQuery 弹出窗口 我正常的 a href
  • 如何从 Java 中的输入文本中删除标点符号?

    我正在尝试使用 Java 中用户的输入获取一个句子 我需要将其变为小写并删除所有标点符号 这是我的代码 String words instring split s for int i 0 i lt words length i words
  • Powershell - 检索内部异常以输出(socketException)

    我最近开始深入研究 Powershell 中的错误处理 我注意到一些我不太理解的东西 我不知道这种行为来自哪里 我有一个简单的函数 它使用以下命令检查域名 System Net DNS GetHostByName 如果这个变量传递给一个不存
  • 删除集合列表的重复项

    我有一个集合列表 L set 1 4 set 1 4 set 1 2 set 1 2 set 2 4 set 2 4 set 5 6 set 5 6 set 3 6 set 3 6 set 3 5 set 3 5 实际上在我的例子中是倒数元
  • 添加新消息时滚动到底部

    我正在制作一个聊天机器人 当用户给出新输入或通过 API 发送数据时 我想滚动到聊天框的底部 它不滚动 滚动只是停留在同一位置 但数据正在添加到聊天框中 我已经尝试过其他聊天机器人的代码 但它也不起作用 var outputArea cha
  • Javascript - 无限滚动 JSON 数组?

    我有这样的 JavaScript items forEach function item index arr console log item price var message BitSkins Price item bprice if
  • 通过相机扫描图像和从相机捕获图像有什么不同吗?

    我需要知道扫描和用相机拍照之间的区别 举个例子 我们通常用安卓手机扫描二维码 条形码之类的东西 它们也是图像 我们可以用相机拍照 它也图像 那么 扫描二维码是指拍摄图像并对其进行处理 还是有什么特殊的东西从像素值获取图像 最大的区别是当你c
  • 如何在 Openscenegraph 中从 2D 鼠标单击屏幕坐标点计算 3D 点(世界坐标)?

    我试图在 2D 屏幕空间上用户选择的点的 3D 空间上放置一个球体 为此 我尝试使用以下技术从 2d 点计算 3d 点 但该技术没有给出正确的解决方案 mousePosition x clickPos clientX window left
  • Jython easy_install 错误

    我的目的是向 jython 添加一些 python 库 即 suds 包 为此 请尝试遵循以下指示http www jython org jythonbook en 1 0 appendixA html setuptools http ww
  • $wpdb 在 WordPress 插件文件中不起作用

    我正在使用 WordPress 插件 我创建一个自定义表单 用户在其中添加值 然后单击提交按钮 当用户单击提交按钮时 它会重定向到自定义流程文件 我在其中编写用于插入和更新数据的查询 I my 进程 php文件 首先我打电话全局 wpdb
  • 当浏览器关闭时运行服务器端功能

    背景 我正在使用 C 代码隐藏创建一个非常简单的类似聊天室的 ASP NET 页面 当前用户 聊天消息显示在位于 AJAX 更新面板内的控件中 并使用计时器 它们每隔几秒从数据库中提取信息 我试图找到一种简单的方法来处理将用户退出浏览器时的