小编Jam*_*esD的帖子

是否可以使用Mailkit和Exchange的默认网络凭据?

我想使用MailKit通过我们的Exchange服务器发送电子邮件,使用该进程的凭据.

NetworkCredential使用域/用户名/密码建立一个工作:

using (var client = new SmtpClient(ProtocolLogger))
{
    client.Connect(server, port);

    // Works
    var creds = new NetworkCredential(username, password, domain);
    client.Authenticate(creds);

    client.Send(msg);        
}
Run Code Online (Sandbox Code Playgroud)

如果我CredentialCache.DefaultNetworkCredentials在以同一个用户身份运行时使用,则会失败并显示MailKit.Security.AuthenticationException:

using (var client = new SmtpClient(ProtocolLogger))
{
    client.Connect(server, port);

    // Authentication failure
    client.Authenticate(CredentialCache.DefaultNetworkCredentials);

    client.Send(msg);        
}
Run Code Online (Sandbox Code Playgroud)

ProtocolLogger输出以下(含邮件服务器和base64编码字符串改变):

Connected to smtp://mymailserver:25/?starttls=when-available
S: 220 mymailserver Microsoft ESMTP MAIL Service ready at Thu, 30 Jun 2016 12:45:04 +0930
C: EHLO [172.1.1.2]
S: 250-mymailserver Hello [172.1.1.2] …
Run Code Online (Sandbox Code Playgroud)

c# exchange-server mailkit

8
推荐指数
1
解决办法
2330
查看次数

如果zookeeper leader进程被杀,所有follower都应该得到异常并重新启动吗?

我正在使用 Zookeeper 3.4.6 进行一个项目,并且正在执行一些故障模式测试。这样做时,我发现了(我认为是)意外的行为。

如果领导者 Zookeeper 进程被杀死,追随者是否应该重新启动?

环境:

OS:        Windows Server 2008 R2 (hosted in a Tanuki Java service wrapper)
Zookeeper: 3.4.6
Java JDK:  1.7.0.210
Run Code Online (Sandbox Code Playgroud)

测试:

测试是杀死 Zookeeper 进程并确保集群恢复。

如果我杀死一个非领导进程,它会重新启动并重新加入集群,而不会影响其他节点。

如果我杀死领导进程,领导和追随者将重新启动。这似乎不对,因为有一段时间客户端无法连接到任何Zookeeper 节点。

我已经尝试了TCPUDP通信设置,但都表现出相同的行为。不过,UDP 的恢复速度是后者的两倍。

动物园管理员设置

tickTime=2000
initLimit=5
syncLimit=2
minSessionTimeout=5000
maxSessionTimeout=120000
dataDir=C:\\ProgramData\\Saab OneView\\ZooKeeper\\zoo-data
clientPort=2181
leaderServes=yes
autopurge.purgeInterval=24

# IP addresses blanked out here
server.1=0.0.0.1:2888:3888
server.2=0.0.0.2:2888:3888
server.3=0.0.0.3:2888:3888
server.4=0.0.0.4:2888:3888
server.5=0.0.0.5:2888:3888

# This is for zookeeper->zookeeper communication
# I've tried both settings, UDP …
Run Code Online (Sandbox Code Playgroud)

apache-zookeeper

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

如果应用程序崩溃,CefSharp.BrowserSubprocess 会以高 CPU 运行

我正在使用优秀的CefSharp项目(版本 67)在我们的 WPF 应用程序中托管浏览器。

使用 CefSharp 会导致CefSharp.BrowserSubprocess启动子进程,这是设计使然。

如果我干净地退出我的应用程序并Cef.Shutdown()按照文档中的建议调用,这些进程将停止:

// Hook up handler earlier in application
Application.Current.Exit += OnApplicationExit;

...

private void OnApplicationExit(object sender, ExitEventArgs e)
{
    if (Dispatcher.CheckAccess() == false)
    {
        Dispatcher.Invoke(() => OnApplicationExit(sender, e));
        return;
    }

    // Stops CefSharp.BrowserSubprocess processes
    Cef.Shutdown();
}
Run Code Online (Sandbox Code Playgroud)

我注意到,如果应用程序被终止,CefSharp.BrowserSubprocess负责渲染的将继续运行并开始使用大量CPU,并且会无限期地这样做。

我可以添加一些代码来处理这个问题,检查任何孤立的CefSharp.BrowserSubprocess进程,然后杀死它们。我想知道是否有更好的选择?

如果进程本身可以执行周期检查并自行终止,这可能是一种设置,那就太好了。

cefsharp

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