IpcServerChannel属性问题

本文关键字:问题 属性 IpcServerChannel | 更新日期: 2023-09-27 18:06:14

我必须写一个服务程序和一个用c#维护它的程序。我不能使用。net 3或4,所以我坚持使用。net 2.0。我知道IPC频道可以帮助我,但我在使用它们时遇到了问题。

我试图创建我的IpcServerChannel使用IDictionary作为属性列表。但是我找不到要发送的好的属性。

这是我的清单

IDictionary properties = new Hashtable();
properties.Add("authorizedGroup", "Users");
properties.Add("portName", "ServerChannel");
channel = new IpcServerChannel(properties,null);

当试图运行这个,我得到了一个IdentityNotMappedException错误。你们知道吗?

IpcServerChannel属性问题

用户名依赖于Windows语言:

您可以使用Account的SID代码和SID常量。例如"WellKnownSidType"。"WorldSid"与"EveryOne"相同。

// Get SID code for the EveryOne user
SecurityIdentifier sid = new SecurityIdentifier(WellKnownSidType.WorldSid, null);
// Get the NT account related to the SID
NTAccount account = sid.Translate(typeof(NTAccount)) as NTAccount;
// Put the account locale name to the properties
properties.Add("authorizedGroup", account.Value);

好了,我有办法了。

事实是,我发现所有关于IPC的信息都是英文的,所以它使用的是"Users"组。我正在使用的计算机是法语的,所以"Users"组被命名为"utilisaturs"。