小编Ski*_*gle的帖子

RegistrySecurity访问被拒绝.C#

我在编写应用程序以设置某些旧版密钥的权限时遇到问题.旧版密钥已完全锁定,并且在regedit中实际修改它们,您必须拥有所有权,然后添加完全控制权.当试图在代码中复制它时,我无法获得写入错误"访问被拒绝"的密钥.示例代码:

RegistrySecurity rs = new RegistrySecurity();
rs.AddAccessRule(new RegistryAccessRule("Administrators", RegistryRights.FullControl, AccessControlType.Allow));
rs.SetOwner(new NTAccount("Administrators"));
return LocalMachine.CreateSubKey(post, RegistryKeyPermissionCheck.ReadWriteSubTree, rs);
Run Code Online (Sandbox Code Playgroud)

任何想法将不胜感激.我也尝试过OpenSubKey请求写访问权限,但我无法获得密钥.

多谢你们.

c# security registry

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

关于大数据的GZipStream

我试图压缩大量的数据,有时在100GB的范围内,当我运行我写的例程时,看起来文件的大小与之前的大小完全相同.有没有其他人在GZipStream上遇到过这个问题?

我的代码如下:

        byte[] buffer = BitConverter.GetBytes(StreamSize);
        FileStream LocalUnCompressedFS = File.OpenWrite(ldiFileName);
        LocalUnCompressedFS.Write(buffer, 0, buffer.Length);
        GZipStream LocalFS = new GZipStream(LocalUnCompressedFS, CompressionMode.Compress);
        buffer = new byte[WriteBlock];
        UInt64 WrittenBytes = 0;
        while (WrittenBytes + WriteBlock < StreamSize)
        {
            fromStream.Read(buffer, 0, (int)WriteBlock);
            LocalFS.Write(buffer, 0, (int)WriteBlock);
            WrittenBytes += WriteBlock;
            OnLDIFileProgress(WrittenBytes, StreamSize);
            if (Cancel)
                break;
        }
        if (!Cancel)
        {
            double bytesleft = StreamSize - WrittenBytes;
            fromStream.Read(buffer, 0, (int)bytesleft);
            LocalFS.Write(buffer, 0, (int)bytesleft);
            WrittenBytes += (uint)bytesleft;
            OnLDIFileProgress(WrittenBytes, StreamSize);
        }
        LocalFS.Close();
        fromStream.Close();
Run Code Online (Sandbox Code Playgroud)

StreamSize是一个8字节的UInt64值,用于保存文件的大小.我将这8个字节原始写入文件的开头,所以我知道原始文件的大小.Writeblock的值为32kb(32768字节).fromStream是从中获取数据的流,在本例中是一个FileStream.压缩数据前面的8个字节是否会导致问题?

c# gzipstream

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

Aerospike命名空间配置选项

我最近参与了将Aerospike数据存储实施到我们的产品中.我们一直在尝试为命名空间设计最佳配置.持久化数据的要求意味着我们需要将存储引擎作为设备.我们已将内存中的数据指定为true.

我的问题是:是否data-in-memory尝试将所有后备存储数据加载到内存中,如模糊描述所暗示的那样?

始终保留内存中所有数据的副本.

或者它会关注memory-size命名空间的设置,只加载memory-size来自后备存储的数据量?

文档中检索了设置的描述.

我一直在和那个第一次实施空中飞行试验的人交谈,试图找出他是否知道并且不确定所以我正在寻求澄清.

作为参考,我的命名空间配置看起来像这样,内存配额明显小于后备存储

namespace Test {
    replication-factor 2
    memory-size 4G
    default-ttl 0
    storage-engine device {
        file /opt/aerospike/data/Test.dat
        filesize 16G
        data-in-memory true
    }
}
Run Code Online (Sandbox Code Playgroud)

aerospike

4
推荐指数
1
解决办法
801
查看次数

标签 统计

c# ×2

aerospike ×1

gzipstream ×1

registry ×1

security ×1