Asp.net 如何在草稿中自动保存撰写消息文本?

Asp.net 如何在草稿中自动保存撰写消息文本?,asp.net,vb.net,Asp.net,Vb.net,我们有一个vb.net应用程序,它还具有发送和接收邮件功能。现在,我们添加了30分钟的会话计时器,但用户抱怨他们在写长文本消息或撰写其他内容时遇到问题,当他们返回继续撰写消息时,他们被重定向到会话到期页,他们的长文本消息将永远消失。所以我对这一点很陌生,我想,当用户在撰写邮件时,文本应该自动保存到草稿中,比如hotmail。 任何帮助都将不胜感激。多谢各位 您可以采取两种基本方法: 正确的“web”方式是至少从应用程序的这一部分删除对会话和状态的需要,即设置应用程序,使其在会话过期时具有弹性,并

我们有一个vb.net应用程序,它还具有发送和接收邮件功能。现在,我们添加了30分钟的会话计时器,但用户抱怨他们在写长文本消息或撰写其他内容时遇到问题,当他们返回继续撰写消息时,他们被重定向到会话到期页,他们的长文本消息将永远消失。所以我对这一点很陌生,我想,当用户在撰写邮件时,文本应该自动保存到草稿中,比如hotmail。
任何帮助都将不胜感激。多谢各位

您可以采取两种基本方法:

  • 正确的“web”方式是至少从应用程序的这一部分删除对会话和状态的需要,即设置应用程序,使其在会话过期时具有弹性,并且在会话过期时可以从帖子中获取必要的用户详细信息等-您可以使用存储在viewstate或cookie中的值执行此操作。但是,这并不能解决保存正在进行的工作的问题
  • 因此,这里更合适的解决方案是研究AJAX解决方案,即页面使用客户端脚本以定义的时间间隔将消息文本透明地“保存”(发布)回服务器。这还具有延长会议时间的进一步优势
    当然,使用AJAX解决方案,您的后端数据管理也变得更加复杂。。。但这是可以管理的(限制它在一个草案中进行,记住要清除草案上的“发送”,你应该是好的),你可能仍然想考虑某种程度的额外弹性,因为其他原因失去会话。

    < P>有两个基本的方法,你可以这样做:

  • 正确的“web”方式是至少从应用程序的这一部分删除对会话和状态的需要,即设置应用程序,使其在会话过期时具有弹性,并且在会话过期时可以从帖子中获取必要的用户详细信息等-您可以使用存储在viewstate或cookie中的值执行此操作。但是,这并不能解决保存正在进行的工作的问题
  • 因此,这里更合适的解决方案是研究AJAX解决方案,即页面使用客户端脚本以定义的时间间隔将消息文本透明地“保存”(发布)回服务器。这还具有延长会议时间的进一步优势
    当然,使用AJAX解决方案,您的后端数据管理也变得更加复杂。。。但这是可以管理的(将其限制为一个正在进行的草稿,记住在“发送”时清除草稿,您应该会没事的)您可能仍然想考虑其他原因导致的会话丢失的额外弹性。

    谢谢,但我们现在不使用Ajax?所有Ajax都是JavaScript和类似于Web服务调用的东西——在所有其他方面,您都完全保留了您的应用程序,您只需要做一件额外的事情——将文本发送回代码中的适当方法(此时我冒昧地假设为asp.net webforms)。此外,MicrosoftAJAX工具可能会在实际为您完成繁重的工作方面发挥一定的作用。关注一个简单的问题——从客户端发送数据并保存。你能告诉我Hotmail是如何做到这一点的吗?当我们撰写新邮件时,它会显示“您的邮件已保存到草稿”,并且草稿文件夹中的计数器会上升到1。现在发生了一些奇怪的事情,比如断开连接,或者崩溃,文本保存为草稿。这太棒了。我也希望如此。嗯,这需要一个例子,需要时间,但我没有(或者至少我没有组织起来)。我无法确切地告诉您hotmail或google是如何实现上述效果的,除此之外,他们在您键入时使用javascript调用服务器a)保存数据并b)刷新页面的一部分(在MS ajax中,您可能会使用updatepanel)。要解决这个问题,你需要从一个新的项目开始,只要一个文本框,如果更改,它会每10秒自动保存一次。非常感谢你的帮助和建议。我一定会试试。谢谢你,但我们现在不使用ajax?所有ajax都是javascript,类似于web服务调用——在所有其他方面,你让应用保持原样,你只需要做一件额外的事情——将文本发送回代码中的适当方法(我现在冒昧地假设是asp.net webforms)。此外,Microsoft Ajax工具在实际为您完成繁重的工作方面可能会有一定的帮助。请关注一个简单的问题—从客户端发送数据并保存数据。您能告诉我Hotmail是如何做到这一点的吗?当我们撰写新邮件时,它会显示出来“您的邮件已保存到草稿”并且草稿文件夹中的计数器上升到1。现在出现了一些奇怪的情况,例如断开连接或崩溃,文本被保存为草稿。这太棒了。我也希望如此。嗯,这需要一个示例,需要时间,但我没有(或者至少我没有组织)。我不能确切地告诉你hotmail或google是如何实现上述效果的,除了上面提到的,他们有javascript在你键入时调用服务器a)保存数据,b)刷新页面的一部分(在MS ajax中,你可以使用updatepanel)。你需要从一个新项目开始解决这个问题,只要一个文本框,如果更改,它会每10秒自动保存一次。非常感谢你的帮助和建议。我一定会尝试的。