Active Directory 是否支持事务?

2024-04-13

简单的问题,但我在任何地方都找不到答案:Active Directory 是否支持事务?

换句话说,以下更改是否会回滚(因为我没有调用scope.Complete()):

using (var scope = new TransactionScope())
{
    DirectoryEntry entry = ...;
    entry.Properties["givenName"].Value = "New Given Name";
    entry.CommitChanges();
}

如果没有,是否可以以某种方式启用此功能?现在,我有执行数据库更新和相应 AD 更新的代码,并且在 AD 更新因某种原因失败时我有补偿逻辑。这个解决方案远非最佳。

亲切的问候, 罗纳德·维尔登伯格


简短的回答是——不。 ActiveDirectory 本质上是一个 LDAP 实现(带有一些奇特的扩展,但其核心仍然是 LDAP)。 LDAP 协议和规范都没有事务的概念,因此这实际上是不可能的。

可以在客户端模拟事务,但您必须自己执行此操作或使用 Spring,我相信它会为您执行此操作 - 显然这不如您期望的服务器端事务那么安全一个数据库。关于 Spring 的注释 - 我还不能完全确定 Spring.NET 支持 LDAP 的“事务”,但在 Spring 的 Java 实现中它们有类似的东西。也许值得一看。

通过阅读 CommitChanges 方法上的文档,它只是说它将您的更改发送到服务器 - 如果它没有指出它们是事务安全的,我会认为它们不是。

一些随意的想法——我guess微软有可能将类似的东西添加到 Active Directory 中(因为它不仅仅是justLDAP),但如果他们还没有的话,他们可能不会。

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

Active Directory 是否支持事务? 的相关文章

  • 以线程安全的方式获取随机数

    这是一篇描述随机数线程安全性的好文章 以线程安全的方式获取随机数 http blogs msdn com b pfxteam archive 2009 02 19 9434171 aspx 但我坚持使用 RandomGen2 示例 publ
  • 使用编译时编织进行依赖注入? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我只是想了解 PostSharp 老实说我认为它太棒了 但有一件事对我来说很难如何纯依赖注入 不是服务定位器 无法完成 https cod
  • 在 VB.NET 中 a = b = 5 - 不可能吗?

    VB NET 中可以这样做吗a b 5 我知道 也是比较运算符 我的意思是做not结果 例如 如果 b 2 a false b 2 然而 在下面的情况下该怎么做呢 不方便在我的代码中引起了这个问题 一些对象a b z由方法中的 ref 传递
  • ELMAH 将其数据保存在哪里?

    我刚刚安装了 ELMAH MVC 更多信息here http nuget org packages Elmah MVC 并且想知道其数据保存在哪里 我读到您可以选择设置数据库进行存储 但似乎默认安装使用 内存中 它是如何工作的 如果我回收应
  • Microsoft Teams 中私人消息的传入 Webhook

    我可以从 C 应用程序或 PS 脚本创建传入 Webhook 将 JSON 消息发送到 MSFT 文档所解释的通道 但是 我想使用传入的 webhook 将 JSON 消息从我的应用程序发送到用户 作为私人消息 就像 Slack 允许的那样
  • C# 创建包含多个文件的 ZIP 存档

    我正在尝试创建包含多个文本文件的 ZIP 存档 如下所示 Dictionary
  • 是什么原因导致 Linq 错误:此方法无法转换为存储表达式?

    我有一堆具有相同 select 语句的 Linq to Entity 方法 所以我想我会很聪明 并将其分离到它自己的方法中以减少冗余 但是当我尝试运行代码时 我得到了以下内容错误 该方法不能转化为 商店表达式 这是我创建的方法 public
  • 检测 SignalR Hub 客户端立即断开连接

    SignalR Hub OnDisconnected 何时在服务器端引发 对于崩溃或关闭而不调用Stop method 我正在使用 SignalR NET 客户端进行测试 而不是 javascript 客户端 如果我打电话给Stop客户端上
  • 创建带有部分的选项卡式侧边栏 WPF

    我正在尝试创建一个带有部分的选项卡式侧边栏 如 WPF 中的以下内容 我考虑过几种方法 但是有没有更简单 更优雅的方法呢 方法一 列表框 Using a ListBox并将 SelectedItem 绑定到右侧内容控件所绑定的值 为了区分标
  • 元素属性语法和属性属性语法之间有语义差异吗?

    我认为元素属性语法和属性属性语法在语义上没有太大区别 但是 我发现一定有什么不同 例如 下面的例子只是演示了一个简单的触发器
  • 反序列化嵌套类时不需要 xmlns=''

    我在尝试在服务器上序列化类 将其发送到客户端并在目标上反序列化时遇到问题 在服务器上我有以下两个类 XmlRoot StatusUpdate public class GameStatusUpdate public GameStatusUp
  • 在 System.Xml.XPath 中启用 XPath2 查询(XPathException:无效令牌)

    Microsoft 的 System Xml XPath nuget package 可用于 NET 4 6 声称支持 XPath 1 0 和 2 0 德文档 https msdn microsoft com en us library s
  • 如何检测Mysql/innodb中的死锁?

    我知道在 Innodb 中使用事务时不可避免地会发生死锁 并且如果应用程序代码正确处理死锁 它们是无害的 正如手册所说 只需再试一次 所以我想知道 如何检测死锁 死锁是否会发出一些特殊的 mysql 错误号 如果重要的话 我正在使用 PHP
  • 每个托管线程是否都有自己对应的本机线程?

    我想知道是否在 Net 中创建托管线程 通过调用Thread Start 导致在后台创建一个本机线程 那么托管线程是否有对应的本机线程呢 如果是 当托管线程等待或睡眠时 是否意味着相应的本机线程也在等待或睡眠 是的 NET 线程映射到所有当
  • Android 手机作为 GSM 调制解调器在 PC 上发送/接收短信?

    是否可以将 Android 移动设备用作 PC 上的 GSM 调制解调器 我正在 net下开发应用程序来发送 接收短信等 现在我想通过 USB 将我的 Android 设备连接到我的 PC 并将其用作 GSM 调制解调器来与其通信 这里是参
  • 注销租约抛出 InvalidOperationException

    我有一个使用插件的应用程序 我在另一个应用程序域中加载插件 我使用 RemoteHandle 类http www pocketsilicon com post Things That Make My Life Hell Part 1 App
  • Directory.Delete 之后 Directory.Exists 有时返回 true ?

    我有非常奇怪的行为 我有 Directory Delete tempFolder true if Directory Exists tempFolder 有时 Directory Exists 返回 true 为什么 可能是资源管理器打开了
  • 确保 StreamReader 不会挂起等待数据

    下面的代码读取从 tcp 客户端流读取的所有内容 并且在下一次迭代中它将仅位于 Read 上 我假设正在等待数据 我如何确保它不会在没有任何内容可供读取时返回 我是否必须设置低超时 并在失败时响应异常 或者有更好的办法吗 TcpClient
  • 如何在 32 位或 64 位配置中以编程方式运行任何 CPU .NET 可执行文件?

    我有一个可在 32 位和 64 位处理器上运行的 C 应用程序 我试图枚举给定系统上所有进程的模块 当尝试从 64 位应用程序枚举 32 位进程模块时 这会出现问题 Windows 或 NET 禁止它 我认为如果我可以从应用程序内部重新启动
  • 当从finally中抛出异常时,Catch块不会被评估

    出现这个问题的原因是之前在 NET 4 0 中运行的代码在 NET 4 5 中因未处理的异常而失败 部分原因是 try finallys 如果您想了解详细信息 请阅读更多内容微软连接 https connect microsoft com

随机推荐

  • Rails ActiveRecord 协会

    好的 这是我的问题 我有 3 个不同的模型 人员 角色 客户和商店 客户有很多商店 也可以有很多人 商店里人很多 人们有各种各样的角色 1 人可以在多个商店工作 并且他们在每个商店可能具有不同的角色 例如 乔可能是一家商店的助理经理和另一家
  • 如何在两个模块之间共享服务 - @NgModule 以角度而不是在组件之间?

    在我的应用程序中 我有两个不同的引导模块 NgModule 在一个应用程序中独立运行 没有一个角度应用程序位独立的引导模块 现在我希望它们应该相互通信并共享数据 我知道通过 Injectable服务作为模块中的提供者 我可以在所有组件中共享
  • 使用 Apache Commons Configuration 通过属性文件中的值列表进行变量插值,即 ${variable}

    我正在使用 Apache Commons Configuration 来读取属性文件 并且我完全能够进行变量插值 并且还能够以列表形式检索多值属性 但是 我无法正确加载具有多个值的属性 其中一个值是对另一个多值属性的引用 变量插值 这是我的
  • 编辑默认工具栏时 Microsoft Visual Studio“未知位图格式”

    我已使用项目创建向导使用 Microsoft 基础类库 MFC 创建了一个应用程序 我创建了一个多文档界面 MDI 应用程序 该向导创建您可以使用的虚拟工具栏和菜单 我扩展了默认工具栏 没有任何问题 但是现在当我尝试通过资源视图编辑它时 我
  • 使用文本字符串创建 Pandas 数据框中出现的单词矩阵

    我有一个包含一列文本数据的 Pandas 数据框 我想将此文本数据的每一行与我感兴趣的单词列表进行比较 比较应该生成一个矩阵 显示该行数据的文本中单词 0 或 1 的出现情况 输入数据框 text That bear talks The s
  • 我可以在 Xamarin Forms 上检查设备中的可用存储空间吗?

    我正在尝试制作一个应用程序 要求我经常将记录的数据发送到 firebase 当网络中断或电池即将耗尽时 我会保存所有未本地存储到 firebase 中的数据 然而 要做到这一点 我需要大约 20 MB 的数据 我的数据相当大 话虽这么说 我
  • 在 Swift 中从字符串中提取浮点数

    我可以使用下面的代码提取数字 let weightt x components separatedBy CharacterSet decimalDigits inverted joined separator 例如 我从字符串 0 1kg
  • Eclipse JPA 项目更改事件处理程序(等待)

    每当我尝试构建项目时 为什么会收到 JPA 项目更改事件处理程序 正在等待 我的工作区中有一些 JPA 项目 需要花费很多时间来构建我的项目 它还会导致 GC 超出限制 分配给 eclipse 的堆空间为 6GB 我目前正在使用开普勒 He
  • Jenkins 管道在条件内验证特定格式的文件是否存在

    我需要验证特定目录中是否存在 doc 格式的文件 根据该条件何时执行 即 当在具有 doc 扩展名的目录中找到文件时 它应该继续执行步骤 下面的代码无法找到 doc格式的文件 when expression return fileExist
  • 复选框列表

    我有两个域类 class Contract String number static hasMany statements Statement class Statement String code static hasMany contr
  • qgraph可以在实际边缘之外渲染边缘标签吗?

    为了便于阅读 我正在尝试在 qgraph 中的实际边缘之外插入边缘标签 我特别不喜欢在标签下方添加白色背景的选项 它会弄乱边缘 根据手册 只能沿线调整边缘标签位置 而不能在侧面调整 以前有人为此苦苦挣扎吗 是否可以规避这个问题 干杯 似乎没
  • 更改 GKE 上的 kubernetes 主环境变量

    我想在 GKE 上使用我的 Kubernetes 集群启用 Stackdriver 日志记录 这里有说明 https kubernetes io docs user guide logging stackdriver https kuber
  • PLS-00394: fetch 语句的 INTO 列表中的值数量错误

    这是我在存储过程中创建游标的尝试 Second Stored Procedure CREATE OR REPLACE PROCEDURE sp GetDiscountedRate DiscountCode IN VARCHAR2 Perce
  • 如何在Vue.js中添加一堆全局过滤器?

    我想在 Vue js 应用程序中使用一些全局过滤器 我知道我需要在主 Vue 实例之前定义它们 但从代码组织的角度来看 将它们全部放在 main js 文件中对我来说似乎并不正确 我怎样才能将定义放在一个单独的文件中 导入到 main js
  • GitHub API v3:确定用户是否是组织的所有者

    很容易确定用户是否是团队成员如果你知道id http developer github com v3 orgs teams get team member GET teams id members user 但如何才能轻松确定每个组织都拥有
  • Perl 字符串是不可变的吗?

    当我对字符串进行串联时 幕后发生了什么 my short short short cake Perl 是否有效地创建一个新字符串 然后为其分配正确的变量引用 或者 Perl 字符串本质上总是可变的 这个问题的动机来自我与一位同事的讨论 他说
  • 模板构造函数优先于普通复制和移动构造函数?

    以下程序的输出 include
  • 如何检查 VBA DAO 记录集中是否为空?

    我在数据库中有一个可选字段 我正在使用 DAO 记录集提取该字段 在将字段与其他字段连接之前 我需要检查该字段是否已设置 到目前为止 我已经尝试过以下代码片段Is and 这是明显错误的语法 Is 无济于事 看来如果我使用 它不会正确地与N
  • 添加资源文件到VC6 dll

    我有许多 VC 6 0 项目 DSP 它们构建到没有资源文件的 dll 中 知道如何将资源添加到现有项目中吗 该项目很快就会发布一个主要版本 我想为那些目前缺少的 dll 添加一个文件版本 dll 将在发布之前重新编译 因此我只是尝试使这些
  • Active Directory 是否支持事务?

    简单的问题 但我在任何地方都找不到答案 Active Directory 是否支持事务 换句话说 以下更改是否会回滚 因为我没有调用scope Complete using var scope new TransactionScope Di