问题标签 [multi-user]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1025 浏览

c# - 多用户的 C# 文本文件共享方案

与其从头开始编写文本文件共享 Windows 窗体应用程序,我想我只想问是否有人有我可以使用的片段 (C#) 或方法?

该应用程序只需要创建一个文本文件,并允许多个用户从网络上的不同电脑上使用相同的应用程序将注释附加到文件中。基本上,我试图让多个用户使用这个简单的应用程序对项目进行频繁的更新/评论/状态更改。

我研究了一些文件流锁定建议,但再次想看看是否有人愿意分享代码片段。

提前感谢您的任何帮助。戴尔

0 投票
1 回答
927 浏览

java - 如何在多用户环境中处理表单编辑?

我的应用程序是具有服务器和客户端的多用户应用程序。在这种形式中,多个用户可以同时访问,他们可以执行另存为草稿或提交操作。

问题是我想控制多用户同时编辑表单。

例如:用户 X 正在编辑文本字段、复选框的值并执行另存为草稿。同时用户 Y 编辑相同的值并提交表单。有什么方法可以控制同时进行表单编辑。任何指针?

我在应用程序中使用 java 、 spring 3 、 hibernate JPA 。

0 投票
1 回答
2014 浏览

nhibernate - 从NHibernate的一级缓存中删除已删除的项目?或者:如何检查缓存的项目是否已被删除?

我们有一个棕地多用户应用程序(99% Delphi,1% .net),它使用 NHibernate 来保持 .net 模块的持久性。在我的应用程序中,我可以向某个实体添加类别。如果我选择一个并决定不使用它(从而再次删除类别),我已被 NHibernate 加载,并将留在会话的第一级缓存中。现在,如果其他用户删除此类别并且我尝试保存我的实体,我的应用程序将引发异常,因为加载的对象不再存在。

我的问题:有没有办法检查我的缓存是否加载了不再存在的项目?如果是这样,有没有办法从我的缓存中删除不存在的实体?

那么会发生什么: 我加载了一个实体(添加到会话缓存中) 我添加了一个类别(添加到会话缓存中) 其他人从数据库中删除了该类别。我保存了我的实体并发生异常,因为该类别不再存在。

它仍在会话缓存中。如果我可以(自动)从我的会话缓存中删除它会很好吗?有没有办法清理缓存并删除不再存在的对象?

问候,特德

0 投票
2 回答
6485 浏览

c# - 具有中央数据库的多用户环境中的实体框架数据更新

让我解释一下标题。

我在应用程序(TestApp)中首先使用实体​​框架代码。出于调试目的,TestApp连接到 SQLExpress 数据库(中央数据库服务器)。

为了简单起见,数据库包含一个表“Products”,TestApp 在数据网格中显示数据库中的所有“Products”,TestApp 可以添加/删除“Product”或修改 ProductName。

例如,我有 3 台安装并运行 TestApp 的电脑(我将它们称为 Client_X)。如果我通过 Client_1 添加一个新的“产品”,那么这在 Client_2 和 Client_3 上的 TestApp 中是不直接可见的。只有当 Client_2 和 Client_3 再次获取所有数据(手动刷新)时,我才会看到新添加的记录。

我想知道的:如何通过 EF Code First 了解数据库的变化?由于添加或删除了新项目,Client_2 和 Client_3 如何自动更新其数据网格?

我不确定它是否被问得太多,但是一个简单的示例项目或简单的代码来证明这一点会很有用。

仅供参考:我对 EF Code First 还很陌生。(我使用的是 .NET 4.0 和 EF Code First 4.3.1)

提前致谢。

方案:

更新/编辑:

好的,很明显实体框架本身不会在多个客户端之间进行任何同步。

所以我会问另一个问题: 我正在考虑以客户端-服务器方式工作:

  • 创建数据库并首先使用实体​​框架代码的单个服务器应用程序。
  • 与该单个服务器应用程序通信的多个客户端。

    现在确保客户端使用相同数据并查看彼此更新/更改的最佳方法是什么?(我会很感激代码示例。)

0 投票
2 回答
5906 浏览

c# - C# 多用户应用程序中的技术,其中所有客户端都从中央数据库获取最新数据

在多用户环境中:如何确保所有客户端都能看到彼此的变化?做这个的最好方式是什么?

过去我创建了一个 C# 应用程序并将其安装在 2 台电脑上。它连接到中央 SQL Express 服务器(客户端应用程序使用 Entity Framework Code First 作为 ORM)。当客户端 1 向数据库添加一条记录时,客户端 2 无法直接看到。仅当 client2 再次获取所有数据(硬刷新)时,更改才可见。

现在我正在寻找一个解决方案来解决这个“同步”(?)可以或应该如何完成。我喜欢首先使用实体​​框架代码,如果有一个解决方案可以保留这一点,那就太好了。此外,该应用程序仍处于非常早期的阶段。我想通过有一个中央数据库和多个客户端连接到它,但我不确定这是否是一个好的解决方案。如果您的建议/解决方案需要客户端连接到的中央服务器应用程序(以及服务器应用程序执行数据库处理的位置),这将没有问题。

如果可能的话,一个基本的示例解决方案或一些显示如何始终使用最新数据的基本代码可能会非常有帮助!

类似的问题:

提前致谢

0 投票
1 回答
4456 浏览

eclipse - 在工作区外使用 eclipse 项目(多用户)

以下场景:

我们想为我们的 Eclipse 项目使用一个根文件夹。自从我看到,那个Eclipse 不支持多用户工作空间(许多用户同时在同一个工作空间上),我正在寻找另一种解决方案。

我随机创建了一个没有默认位置的“新项目” ,而不是我们在工作区之外的位置(每个客户都有自己的工作区)。

Eclipse 将在{workspace}/.metadata/.plugings/org.eclipse.core.resources/.projects/下生成

一个文件夹,其中仅包含有关项目位置和其他一些数据(.safeable、.tree)的信息。因此,可以重命名一个项目,它会在其他客户端自动刷新。在大多数情况下,它看起来并不那么糟糕。

我的问题:我对此有一种不好的感觉。要通过源代码创建那些“链接项目”,我需要使用“内部包”。而且我不确定这是否是正确的行为。

那么你们将如何处理一些用户需要在 Eclipse 应用程序中共享二进制数据的场景。SVN 和 .git 对二进制文件不太满意。

我很感激任何建议。谢谢。

更新

我是如何解决问题的:

每个用户都有自己的工作空间。除此之外,还有“中央工作区”。它只是一个普通的工作区,但用户工作区中的每个 IProject 都从这里链接。

这是链接位于自己工作区之外的 IProject 的源代码:

您应该在WorkspaceJob中运行此代码。

之后,您可以使用实际上不在您的工作区中的 IProject 使用无限的用户。在这种情况下,您不使用任何内部包。

0 投票
1 回答
1616 浏览

sql - 为仅具有文件服务器的多用户应用程序选择数据库(Windows)

我需要为在文件服务器上使用相同数据库的基于 Windows 的应用程序的多个同时用户选择数据库解决方案。

我需要一个可以存在于 Window OS 文件服务器上的数据库。

  1. 必须由在单个 MS Windows 机器(主要是 Windows 7)上运行的多个应用程序共享
  2. 由文件服务器提供。
  3. 无法使用数据库服务器/引擎(由于内部政治规则)或网页服务器。
  4. 更喜欢将 C# 用于一组 WPF 应用程序。
  5. 当前使用一组带有一组 MS Access 文件的 VB 应用程序 - 其中一个应用程序有问题,需要重新编写。
  6. 当前大约六个 *.mdb 文件(一些带有链接表)的集合大约是 400 MB。估计增长 10 到 20 MB/年。
  7. 目前最多有十几个并发用户在他们自己的 PC 上。不要期望在未来有太大的变化。
  8. 所有应用程序都向数据库读取和写入数据。
  9. 目前有几个(大约 4 人)在 Access 中编写临时查询 - 他们将继续需要能够以某种方式编写查询。
  10. 希望防止最终用户更改数据库结构(添加表/列)。
  11. 免费软件。

我知道的选择是:

  1. 访问 .mdb 文件(当前情况)。
  2. SQLite。
  3. SQL 服务器 CE。

是否有其他系统可能适合许多或所有所需特征?对于我正在考虑的系统,我应该了解哪些特定的“陷阱”?

0 投票
5 回答
620 浏览

java - 为每个访问者只启动一次线程的 Servlet

嘿,我想实现一个 Java Servlet,它只为每个用户启动一次线程。即使刷新它也不应该重新开始。我的最后一种方法给我带来了一些麻烦,所以没有代码^^。对 servlet 的布局有什么建议吗?

jsp 使用 ajax 定期发布到 servlet 并获取状态。该线程只运行了 3 分钟,爬取了一些 last.fm 数据。

0 投票
2 回答
3962 浏览

input - 多个用户在同一台​​电脑的不同屏幕上同时使用不同的虚拟机 - 如何?

使用虚拟化的单个台式计算机充当同一房间内多个同时用户的工作站 - 可以做到吗?!

购买了一台新电脑,很快就会安装带有 Hyper-V 的 Windows 8,理论上我将拥有驱动 4 个独立显示器的计算能力和端口。建立了这个虚拟网络后,3 个朋友可以访问一些 4 人游戏,控制台风格,每个用户的输入针对不同的 VM 并因此监控。输入可能是游戏控制器或键盘和鼠标组合,可能两者同时(?!)

通过搜索网络,我还没有找到 Windows 8 的示例(或以这种方式使用的其他操作系统)。这个计划有不可逾越的缺陷吗?是否需要任何第三方工具?想法?评论?例子?

期待您的回复,谢谢!

0 投票
3 回答
2941 浏览

android - XMPP 房间邀请

在我的聊天应用程序中,我想实现群聊功能。同样,我想创建房间并将邀请发送给我的朋友加入房间。这是我加入并邀请朋友到房间的代码。

创建房间

为了接收邀请,我在我的服务类中实现了一个邀请监听器。但我无法通过通知收到邀请。代码的问题。

这是我的邀请听众。

请告诉我为什么我没有收到邀请。??

谢谢