小编Gau*_*ssZ的帖子

存储Kerberos身份验证以供以后模拟

是否可以存储Kerberos票证以便以后使用它来模拟用户?

我有一个场景,用户直接调用外部系统来处理一些数据.外部系统依赖于在AD中正确模拟/验证用户.

现在,调用系统必须进行更改,以便队列位于用户和外部系统之间,并且队列中的工作由Windows服务从该队列移交给外部系统.此服务需要模拟用户,以便外部系统正确处理用户权限.

鉴于我无法更改外部系统并且无法在队列中存储用户名和密码,我可以在用户将新工作项添加到队列时保存Kerberos票证,然后在服务交换时模拟用户数据到外部系统.我怎么会在C#中做到这一点?

.net c# authentication kerberos active-directory

10
推荐指数
1
解决办法
2658
查看次数

WCF basicHttpBinding:回复客户端失败时回滚

我通过basicHttpBinding在数据库上执行多个操作来公开WCF服务.

我想保证,如果客户端没有收到回复,则回滚数据库操作(没有任何事务流通过WCF).例如,客户端调用在服务器上执行但在完成之前客户端崩溃的"DoX"方法.一旦无法将回复发送到客户端,就应该回滚数据库操作.

有没有办法做到这一点?[OperationBehavior(TransactionScopeRequired=true)]属性是否会以这种方式工作?是否有可能处理服务器端的通信错误?

更新1: 似乎[OperationBehavior(TransactionScopeRequired=true)]在将回复发送到客户端之前提交事务,因此如果客户端没有收到回复,则不能用于执行回滚.

更新2: 要再次明确说明,我不需要事务以任何方式与客户端进行交互.客户端既不知道事务,也不能取消或提交事务,任何事务都不应该通过绑定.如果传输通道无法将消息传递到接收客户端,那么我希望事务回滚的唯一位置是在服务器端.对于TCP/IP的情况,该信息应该随时可供服务器使用.(没有TCP数据包的ACK发送回客户端)

因此,服务器端的假设执行流程(请注意缺少客户端)应该是:

Receive client request

Start transaction

Execute all logic inside the service operation

Send reply back to client

if (reply.failedToReceive) { transaction.Rollback() } // due to a failing TCP/IP transmission
Run Code Online (Sandbox Code Playgroud)

wcf transactions basichttpbinding

6
推荐指数
1
解决办法
1348
查看次数

Mootools设置了单选按钮

我有2个单选按钮

我在装载时使用了mootool

 window.addEvent('domready', function() {
   var chk="1";
 if(chk==1){

$('edit-gender-0').set('checked',true);
 }

else if(chk==2){
 $('edit-gender-1').set('checked',true);

  }
Run Code Online (Sandbox Code Playgroud)

但它根本不起作用.

任何帮助将不胜感激......以及没有if条件的任何其他简短解决方案.

javascript mootools

5
推荐指数
1
解决办法
8140
查看次数

NLog 中 Callsite 布局渲染器的性能影响

NLog 能够通过${callsite:className=Boolean:fileName=Boolean:includeSourcePath=Boolean:methodName=Boolean}: 渲染器包含调用点信息。

我假设 NLog 获取堆栈跟踪来实现此功能。

我想知道是否是这种情况,或者 NLog 的优化是否超出了在每个日志记录调用上创建新的堆栈跟踪的范围,以及在写入大量日志条目的应用程序中对性能有何影响?

.net performance nlog

5
推荐指数
1
解决办法
1401
查看次数

委托创建语法的差异

我可以使用以下任一方法:

var alert = new Action<string>((s) => MessageBox.Show(s));

// Or

Action<string> alert = (s) => MessageBox.Show(s);

// Or

Action<string> alert = new Action<string>((s) => MessageBox.Show(s));
Run Code Online (Sandbox Code Playgroud)

从C#编译器生成的代码的角度来看,它们之间有什么区别吗?或者只是品味问题?

.net c# syntax lambda delegates

0
推荐指数
1
解决办法
78
查看次数