c# – 在Windows 10更新1803之后,我的程序在从网络共享运行时无法打开套接字

前端之家收集整理的这篇文章主要介绍了c# – 在Windows 10更新1803之后,我的程序在从网络共享运行时无法打开套接字前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在从Windows 10中的共享文件夹运行一些自编写的Winforms .net 3.5应用程序.

一切正常,但在最后一次大更新(1803)后,应用程序不再启动.

似乎程序在尝试打开套接字时崩溃了.第一个问题是访问数据库时遇到以下异常:

2018-05-03 14:36:32,314 [1] ERROR NHibernate.Transaction.AdoTransaction [(null)] - Begin transaction Failed
MysqL.Data.MysqLClient.MysqLException: Unable to connect to any of the specified MysqL hosts. ---> System.Net.Sockets.SocketException: invalid argument
   at System.Net.Sockets.Socket..ctor(AddressFamily addressFamily,SocketType socketType,ProtocolType protocolType)
   at MysqL.Data.Common.MyNetworkStream.CreateSocketStream(MysqLConnectionStringBuilder settings,IPAddress ip,Boolean unix)
   at MysqL.Data.Common.MyNetworkStream.CreateStream(MysqLConnectionStringBuilder settings,Boolean unix)
   at MysqL.Data.Common.StreamCreator.GetStream(MysqLConnectionStringBuilder settings)
   at MysqL.Data.MysqLClient.NativeDriver.Open()

我试图解决这个问题,但是当从网络共享启动程序时,甚至访问SSH服务器也不起作用:

2018-05-03 14:30:30,654 [1] ERROR WinForms.SpringApplication [(null)] - Main Handler
Tamir.SharpSsh.jsch.JSchException: System.Net.Sockets.SocketException: invalid argument
   at System.Net.Sockets.Socket..ctor(AddressFamily addressFamily,ProtocolType protocolType)
   at Tamir.SharpSsh.java.net.Socket..ctor(String host,Int32 port)
   at Tamir.SharpSsh.jsch.Util.createSocket(String host,Int32 port,Int32 timeout)
   bei Tamir.SharpSsh.jsch.Session.connect(Int32 connectTimeout)
   bei Tamir.SharpSsh.SshBase.ConnectSession(Int32 tcpPort)
   bei Tamir.SharpSsh.SshBase.Connect(Int32 tcpPort)
   bei Tamir.SharpSsh.SshBase.Connect()

当我在本地复制目录时,程序运行正常.

当我从网络共享启动这个程序时,为什么Windows阻止访问套接字的任何想法?

我知道信任.net代码,所以它可以从网络共享运行,但我已经更新了完全信任并且它仍然崩溃(如果我没有完全信任,通常它会更早崩溃).

最佳答案
我们有一些关于此问题的信息:

Windows 10 update 1803 does not open network connections on
executables files on SMBv1 share (as Windows Server 2003)

您可以尝试将程序移动到SMBv2或SMBv3兼容服务器进行检查.

猜你在找的MySQL相关文章