Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 使用文本区域是否可以进行实时协作?_Asp.net Mvc 3_Razor_Real Time - Fatal编程技术网

Asp.net mvc 3 使用文本区域是否可以进行实时协作?

Asp.net mvc 3 使用文本区域是否可以进行实时协作?,asp.net-mvc-3,razor,real-time,Asp.net Mvc 3,Razor,Real Time,我正在开发一个需要实时协作的应用程序。我计划使用cshtml文本区域来允许用户输入。使用文本区域是否可以实现实时协作 此外,我还读了一些关于操作转换的内容。可以使用.net framework实现吗 我只是一个初学者,对能够帮助我实现实时协作的算法没有太多的了解。任何帮助都将不胜感激 先谢谢你 我正在开发一个需要实时协作的应用程序。我计划使用cshtml文本区域来允许用户输入。使用文本区域是否可以实现实时协作 这实际上取决于您想要提供的用户体验。如果您想在另一个用户正在编辑时锁定一个用户的文本区

我正在开发一个需要实时协作的应用程序。我计划使用cshtml文本区域来允许用户输入。使用文本区域是否可以实现实时协作

此外,我还读了一些关于操作转换的内容。可以使用.net framework实现吗

我只是一个初学者,对能够帮助我实现实时协作的算法没有太多的了解。任何帮助都将不胜感激

先谢谢你

我正在开发一个需要实时协作的应用程序。我计划使用cshtml文本区域来允许用户输入。使用文本区域是否可以实现实时协作

这实际上取决于您想要提供的用户体验。如果您想在另一个用户正在编辑时锁定一个用户的文本区域,那么这可能不是最好的用户体验,但肯定是相对容易做到的

如果您希望两个或多个用户能够同时编辑相同的文本区域,那么使用a在用户之间发送
data\u changed
事件相当容易,但您需要处理用户之间文本区域内容的同步并处理冲突检测。这方面的用户体验也要复杂得多

此外,我还读了一些关于操作转换的内容。可以使用.net framework实现吗

我不得不查找,它部分回答了关于用户体验的问题-它是非阻塞的。浏览完维基文档后,我会问这样一个问题:为什么不可能?您可以在所有用户/应用程序之间进行即时通信,通知他们更改(如上所述:使用实时web技术),因此您只需实现和管理所有巧妙的算法:)(我不知道是否有一个组件可以为您管理)

对于自托管的.NET实时web技术,您可能希望查看,或者

如果您想启动并运行得更快一点,您可以查看一个

是免费的,使用node.js实现您想要的,并实现一个OT2算法


对于.Net,没有现成的操作转换,但是您可以看看SDK(尽管是商业软件)

这是一个老问题,但还有一些额外的信息可能会有所帮助。正如前面的答案所提到的,基于文本的数据同步有多种选择。其中许多选择基于or。这些方法以多种语言在SDK中实现。(完全公开,我恰好是本报告的作者之一)

但是,您还需要考虑实施协作编辑所需的一些其他功能。例如:

  • 在场:谁在和你一起编辑
  • 协作意识:像共享游标和选择之类的东西
  • 本地撤销与组撤销:当用户点击control-z时会发生什么?他们是撤销他们做的最后一个操作,还是其他远程用户做的最后一个操作
  • 历史记录:当多人同时编辑时,知道谁做了更复杂的事情。当一个用户点击“保存”(如果有保存)时,他们可能正在保存另一个用户执行的操作

这只是在数据编辑之外的协同编辑中需要考虑的几个例子。当这些问题出现时,大多数答案只关注数据同步框架。AT,我们帮助人们设计设计协作编辑应用程序,并实现了几十个这样的应用程序。如果您只需要进行数据同步,那么用户体验就会非常差,用户也不会喜欢该应用程序


因此,在选择一个框架时,要寻找一些能够帮助您实现实时编辑的其他方面的东西,或者至少要准备好在您选择的任何工具之上自己实现它们。

ShareJS看起来很酷-4行代码可以实现这个问题的要求。遗憾的是,这不是一个.net解决方案。然后,只需现在,BeWeeBee似乎是正确的,至少是唯一的.Net可用实现