ber*_*sch 5 c# mysql sockets ssh windows-10
我正在从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()
Run Code Online (Sandbox Code Playgroud)
我试图解决这个问题,但是当从网络共享启动程序时,甚至访问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, SocketType socketType, 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()
Run Code Online (Sandbox Code Playgroud)
当我在本地复制目录时,程序运行正常.
当我从网络共享启动这个程序时,为什么Windows阻止访问套接字的任何想法?
我知道信任.net代码,所以它可以从网络共享运行,但我已经更新了完全信任并且它仍然崩溃(如果我没有完全信任,通常它会更早崩溃).
我们有一些关于此问题的信息:
Windows 10更新1803无法打开SMBv1共享上的可执行文件的网络连接(作为Windows Server 2003)
您可以尝试将程序移动到SMBv2或SMBv3兼容服务器进行检查.