问题标签 [isolation]

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 投票
4 回答
849 浏览

c# - 如何隔离 Razor 视图?

有没有办法向人们公开 Razor 语法和(自定义)助手,但是说......不允许他们创建代码块,或者,只限制他们在助手的使用中并且不给他们执行纯的权力视图中的 C# 代码?

欢迎任何想法和类似解决方案的指针!

更新: //我想赋予用户编写自己的 HTML 并仅访问 html 助手列表的权力。主要是默认的和我创建的。

例如,我不希望他们能够在@{ //code }块内执行代码,也没有using@model(不确定这个)只能访问@Html.* @if else for foreach

或者更好的是,只允许他们访问特定的命名空间(这只是一个想法)

update:// 经过一些测试,我发现 RazorEngine 与我正在尝试做的事情一样接近:在隔离环境中运行视图并添加对特定命名空间的访问。

0 投票
1 回答
2746 浏览

windows - Windows 上的 Pin 处理器 CPU 隔离

在我主要工作的 linux 中,我们使用一种称为 CPU 隔离的技术,它可以有效地将进程锁定在处理器上,并阻止处理器运行其他任何东西。我们的内核人员做了一些魔术来处理中断。

在 Windows 中,我发现的最接近的东西是一个相似性概念,它似乎将进程/线程绑定到处理器。但它不能保证处理器仅运行该进程/线程,这意味着仍然可能存在上下文切换和其他抖动。

有没有办法在 Windows 上隔离 CPU 以获得半确定性的运行时间?

0 投票
1 回答
641 浏览

php - 如何使用推进设置隔离级别?

我在推进器上使用 mysql、php。

我在 mysql 上使用了带有本地 SQL 查询的事务行锁(例如 SELECT FOR UPDATE)。现在,我正在使用 propel 来使用 ORM。

但是由于推进事务限制,推进不支持行锁定 。

这是 MYSQL InnoDB 锁定模式

有什么想法可以克服这个问题吗?

0 投票
2 回答
1749 浏览

mysql - MySQL 事务和并发插入

我得到了某人制作的这个脚本,我查看了它,发现了一些我不确定是否安全的东西:

在事务内部有 2 个连续插入,在 2 个不同的表中,都具有自动递增的主键。它们应该是相同的(第一次插入生成的主键 = 第二次插入生成的主键)。

别问我为什么,剧本就是这么写的。

我是交易新手,我不太清楚这里是否存在并发问题。我正在考虑另一个线程同时运行并最终生成密钥的可能性,例如:

我很确定(我今天才第一次准备好与交易相关的文档)交易不会防止这种情况发生,但我只是想确保我做对了。

谢谢!

0 投票
2 回答
205 浏览

php - PHP脚本执行和静态变量隔离

我有一个相当基本的 PHP 问题,我似乎无法找到答案。当用户访问执行 PHP 脚本的网站时,该脚本是否与同一脚本的所有其他运行实例隔离运行?

例如,如果我有一个带有静态变量的类(这意味着该变量基本上在该类的所有实例中共享)将每个访问网站的用户都有自己的静态变量副本,或者所有用户都有相同的静态变量多变的?

谢谢。

0 投票
2 回答
765 浏览

windows - 绕过windows会话隔离,在系统服务的用户会话中显示警告消息,windows 7+

当作为 Windows 服务(作为本地系统)运行的应用程序将显示模式警告时,我希望实现一项功能,类似于关机屏幕或 UAC 警告屏幕。基本上,在没有注意到的情况下不可能忽略的东西

有两件事我不知道如何实现:

  1. 据我了解,Windows Vista+ 不再允许应用程序生成系统模式窗口。是否有可能绕过它,有没有简单的方法可以做到这一点?我能想到的唯一选择是打开一个全屏窗口并拦截 alt+tab、ctrl+alt+del 等

  2. 我也相信不可能在服务的用户会话中显示 UI,因为它在另一个会话中运行。是否有允许绕过它的黑客?我能想到的一件事是:找到代码并将代码注入到给定会话中运行的 csrss.exe 或 winlogon.exe,然后调用远程线程。另一种方法是获取 winlogon 和 CreateProcessAsUser() 的句柄。还有其他更简单的方法吗?

0 投票
2 回答
180 浏览

cassandra - 修复模式下的 Cassandra 原子性/隔离保证

我知道 Cassandra 从 1.1 版(http://www.datastax.com/dev/blog/row-level-isolation)开始为行级别的批量突变提供原子性和隔离性

但是这些保证是否也适用于所有修复机制(提示切换、读取修复和节点修复)?

我猜这些操作也使用批量突变,因此可以声明这些保证成立。但我不知道代码,因此无法证明或反驳这一点。

我也没有找到可以告诉我上述修复机制的原子性和隔离保证的来源。

所以也许你们中的某个人可以给我一个消息来源,或者可以证明这些保证在这些情况下是否也成立?

亲切的问候
斯特凡

0 投票
0 回答
161 浏览

c# - 隔离运行库

几周前我开始使用 DI 框架(只是为了好玩),在构建它时遇到了以下问题。基本上我们大多数人都关心使用 DI 框架,以便我们针对接口而不是实现进行编码,我完全同意这个 SOLID 原则——我自己是 DI 框架的忠实粉丝/用户——但是我们让我们的代码依赖于第三方库,因为例如 .NET 不提供开箱即用的 DI 功能。当然他们有 MEF 和 Unity,但那些是外部库。

因此,如果我想使用 DI,我必须使用第三方库并确保我的项目引用它,除此之外,我将我的应用程序暴露给库中可能出现的运行时问题,例如:未处理例外。

我无法解决使用 DI 库的组件需要引用它的事实(至少现在还没有),但我需要解决异常:DI 库中发生的未处理异常需要保留在库中,即是,不传播到客户端应用程序,是的,一个好的设计库应该处理所有异常,但软件并不完美。

实现这一点的最简单方法是使用 ApplicationDomains 并使用带有命名管道的 .Net Remoting 进行进程间通信。我需要从你们那里知道的是,是否有任何其他方法可以使用其他工具/流程来创建这种隔离。

谢谢

更新

多看了一下,发现这个不用直接用.Net Remoting就可以轻松实现:

上面的示例代码似乎满足了我的需求。

谢谢

0 投票
1 回答
350 浏览

linux - 进行隔离构建或任何 shell 命令

请给我一个提示,让我了解隔离 linux shell 脚本的最简单和最轻量级的解决方案(通常是 ubuntu,以防它有特殊之处)

我对隔离的意思是: 1. 文件系统 - 最重要的 - 我希望它不能访问工作区之外的任何文件夹(读取),除了我将以某种方式手动配置的文件夹 2. 实际上,其他类型的隔离并不重要

“软”隔离是可以的,我的意思是如果尝试访问(读取)被拒绝的路径,脚本可能会失败/中止,但是“硬”隔离以获得“未找到”这样的尝试看起来像一个更干净的解决方案

我不需要任何进程隔离,脚本可以使用 sudo/fakeroot/etc。在里面,但这不应该影响隔离。

另外,我计划在一个工作空间内使用不同的隔离:

例如,我有文件夹:

我想让make a它只访问“a”(rw)、“include”(r)和“target”(rw+sudo) make b ,只允许它访问“b”(rw)、“include”(r)和“目标" (rw+sudo)

并且目标将从 A 和 B 获得两个结果,允许 B 覆盖 A 的任何结果 - 如果没有隔离,则相同

我所说的隔离目标是防止B从A读取,即使知道有A,反之亦然

谢谢!

0 投票
0 回答
390 浏览

sql-server - 如何仅启用已提交的读取快照

我想在 SQL Server 数据库中使用 READ COMMITTED SNAPSHOT,据我所知,它与 SNAPSHOT ISOLATION 不同。

我想启用 READ COMMITTED SNAPSHOT,因为我遇到了死锁问题。我正在使用 EF,我认为这将防止许多死锁。

阅读其他一些问题,我明白:

READ COMMITTED SNAPSHOT 意味着乐观读取和悲观写入,而 SNAPSHOT ISOLATION 意味着乐观读取和乐观写入

READ COMMITTED SNAPSHOT 适用于整个数据库,而 SNAPSHOT ISOLATION 是事务级别。

如果我只想启用 READ COMMITTED SNAPSHOT,下一句就足够了吗?ALTER DATABASE [DB] SET READ_COMMITTED_SNAPSHOT ON;

还是我也需要这句话?ALTER DATABASE [DB] 设置 ALLOW_SNAPSHOT_ISOLATION ON;

我问这个是因为我不完全确定 SQL Server 用于 READ COMMITTED SNAPSHOT 的机制是否会在没有最后一句话的情况下启用

谢谢