UWP连接MySQL报错无法连接指定主机 相同代码控制台可正常运行
UWP环境下MySQL连接异常的触发原因
该报错和MySQL连接器代码逻辑无关,完全由UWP平台的沙箱网络隔离机制导致,具体触发原因如下:
- 未开启私有网络访问权限
UWP应用默认不持有局域网访问权限,哪怕宿主机本身可以正常连通MySQL服务,UWP应用的出站局域网请求也会被系统直接拦截。
修复方案:打开项目根目录下的Package.appxmanifest配置文件,切换到「功能」选项卡,勾选**私有网络(客户端和服务器)**权限后重新编译即可。 - 局域网名称解析失败
如果连接字符串中Server参数填写的是MySQL主机的计算机名(NetBIOS名)而非IP地址,部分版本的UWP运行时会出现局域网名称解析失败的问题,可将Server参数替换为MySQL主机的静态局域网IP验证。 - 域环境权限缺失
若当前局域网属于企业域管理环境,还需要额外在Package.appxmanifest的「功能」选项卡勾选专用网络中的企业身份验证权限,否则UWP应用的域内网络请求会被拦截。
同代码在其他.NET环境可以正常运行,是因为.NET Framework、.NET Core的控制台应用没有UWP的沙箱隔离限制,默认继承当前登录用户的网络访问权限,只要宿主机网络可达就能正常建立连接。
内容的提问来源于stack exchange,提问作者LockedInside
相关产品推荐
相关产品推荐

