小编jef*_*uan的帖子

SecurityAction.RequestMinimum在.Net 4.0中已过时

最近,我们的.Net客户端libaray正在升级以针对Net 4.0进行编译.将目标框架更改为4.0后,应用程序会出现一些编译错误.

AssemblyInfo.cs:

[assembly: SecurityPermission(SecurityAction.RequestMinimum, Execution = true)]

错误7警告如错误:"System.Security.Permissions.SecurityAction.RequestMinimum"已过时:""集结号级别声明性安全已过时,默认由CLR不再执行见.http://go.microsoft.com/ fwlink /?LinkID = 155570获取更多信息."'`

在.Net 4.0中,它表明:SecurityAction.RequestMinimum作为过时,我们将所有警告视为错误.

我该怎么办呢? - 只需删除它(这会产生一些意想不到的影响吗?例如,当在IIS中使用dll时)或更改为其他值?我不熟悉.Net,特别是它的安全机制.

有人可以帮忙吗?感谢您的任何建议和评论:)

.net .net-security c#-4.0

14
推荐指数
2
解决办法
2万
查看次数

使用Kafka Streams DSL时如何处理错误并且不提交

对于Kafka Streams,如果我们使用较低级别的处理器API,我们可以控制是否提交.因此,如果我们的代码中出现问题,并且我们不想提交此消息.在这种情况下,Kafka将多次重新发送此消息,直到问题得到解决.

但是如何控制在使用其更高级别的流DSL API时是否提交消息?

资源:

http://docs.confluent.io/2.1.0-alpha1/streams/developer-guide.html

apache-kafka kafka-consumer-api apache-kafka-streams

9
推荐指数
1
解决办法
3225
查看次数

在Windows中,Java SecureRandom.generateSeed失败:意外的CryptoAPI失败

在生产环境(Windows 2008 R2,AMD 64,8 GB RAM)中,应用程序有时会抛出以下异常 - 重新启动应用程序可以解决问题.

Caused by: java.lang.InternalError: Unexpected CryptoAPI failure generating seed
at sun.security.provider.NativeSeedGenerator.getSeedBytes(NativeSeedGenerator.java:43)
at sun.security.provider.SeedGenerator.generateSeed(SeedGenerator.java:117)
at sun.security.provider.SecureRandom.engineGenerateSeed(SecureRandom.java:114)
at java.security.SecureRandom.generateSeed(SecureRandom.java:475)
Run Code Online (Sandbox Code Playgroud)

代码应该没有问题:

    public void generateToken ()
    {
        SecureRandom secureRandom = new SecureRandom();
        int seedByteCount = 20;
        byte[] seed = secureRandom.generateSeed(seedByteCount);
        secureRandom.setSeed(seed);
        String random = String.valueOf(secureRandom.nextLong());
        setToken(random);
    }
Run Code Online (Sandbox Code Playgroud)

看看JDK代码,发现错误是因为Java_sun_security_provider_NativeSeedGenerator_nativeGenerateSeed返回false:

openjdk-7u2-fcs-src-b13-17_nov_2011\jdk\src\windows \native\sun\security\provider\WinCAPISeedGenerator.c:

    JNIEXPORT jboolean JNICALL Java_sun_security_provider_NativeSeedGenerator_nativeGenerateSeed(JNIEnv *env, jclass clazz, jbyteArray randArray)
    {
        HCRYPTPROV hCryptProv;
        jboolean result = JNI_FALSE;
        jsize numBytes;
        jbyte* randBytes;

        if (CryptAcquireContextA(&hCryptProv, "J2SE", …
Run Code Online (Sandbox Code Playgroud)

java windows random

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

Chrome 悬停快捷方式:主要用于 Grammarly

  • 要在 Chrome 中使用Grammarly,我使​​用键盘移动到拼写错误,然后我必须使用触控板启用Hover,以便 Grammarly 可以提出建议。

  • 我们如何使用键盘(没有鼠标和触控板)来做到这一点(强制悬停)?

    • 我想尽可能避免使用触控板。
    • 使用触控板后我的手指很痛。

有什么方法可能有效吗?- 可能是来自 Grammerly、chrome 扩展或 Mac 的快捷方式或隐藏设置的隐藏快捷方式。

谢谢。

谢谢 :)

macos google-chrome keyboard-shortcuts hover google-chrome-extension

6
推荐指数
0
解决办法
889
查看次数

主程序在读取 processB 的输出流时挂起,它启动另一个永远运行的 processC

有三个 Java 应用程序,appB 只是启动 appC,它将永远运行。appA 启动 appB 并读取其输出。但 appA 永远不会退出。任何人都知道为什么会发生这种情况以及如何解决它。如果我不读取 appA 中的流,它不会挂起。

我尝试了两种方法:

  1. 直接读取输出流(readViaInputStream) 或BufferedReader(readViaBufferedReader)。

他们不工作?输出将是:

// 如果我们调用它们,主应用程序挂起,输出将是:

// 在调用子进程之前

// 调用子进程后

// 主程序挂在这里。

// 从不输出 - “读取流完成。”

在 readViaInputStream 中,它挂在 BufferedInputStream.fill() 方法中的 fill() 方法处 int n = getInIfOpen().read(buffer, pos, buffer.length - pos); 它调用 FileInputStream 类的本地方法。

与 readViaBufferedReader 方法相同。

  1. 使用另一个线程读取输出流。

它也不起作用,输出将是:

// 在调用子进程之前

// 调用子进程后

// 读取流完成。

// ===> 和主程序挂起

非常感谢您的任何回复:)

代码如下 -更新为使用下一条评论中提供的代码 Guillaume Polet。

public class MainApp {

public static enum APP {
    B, C;
}

public static …
Run Code Online (Sandbox Code Playgroud)

java process freeze

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