c# - localhost websocket (wss://localhost:xyz/) 并非对所有用户都可用
问题描述
我开发了一个 WPF (.Net Framework) 应用程序,在其中我使用 Fleck 启动 WebSocket
webSocketServer = new WebSocketServer("wss://0.0.0.0:xxxx");
/* <some code for assigning certificate > */
webSocketServer.Start(socket =>
{
socket.OnOpen = () => SocketOnOpen(socket);
socket.OnClose = () => SocketOnClose(socket);
socket.OnMessage = message => SocketOnMessage(socket, message);
socket.OnError = (err) =>
{
socket.Send(err.ToString());
};
});
我使用具有以下配置的 Visual Studio 安装程序项目来构建 MSI 文件以安装我的 WPF 项目。
- 文件系统(AppSetup):我添加项目输出(发布设置)
- 文件系统 (AppSetup) -> DefaultLocation:[LocalAppDataFolder][Manufacturer][ProductName]
- 用户桌面:我创建了实际输出文件的快捷方式并将其复制到此处
- 用户程序菜单 > myappfolder:我创建了实际输出文件的快捷方式并将其复制到此处
- 用户的启动文件夹:我创建了实际输出文件的快捷方式并将其复制到此处
安装程序项目属性:
- 安装所有用户:真
- 删除PreviousVersions:真
我重建了安装程序项目,我在发布文件夹中看到了 MSI 并且安装正常。我重新启动计算机,我看到我的应用程序自动启动。
WebSocket 可用并正确响应,但是当我以其他用户身份登录我的机器时,应用程序会自动启动,但WebSocket 不可用
根据我对互联网上安装程序项目的理解,设置“文件系统(AppSetup)-> DefaultLocation:[LocalAppDataFolder][Manufacturer][ProductName] ”应该创建一个单独的应用程序空间,它确实如此,但不知道为什么我无法访问 wss://localhost:xxxx。
我错过了什么?
解决方案
推荐阅读
- python - 如何设置 Django 模型字段的 NoData 值
- oracle - 如何连接到在 Amazon AWS EC2 上运行的 Oracle 数据库?
- mysql - Mysql 基于两列或多列的唯一/不同行
- reactjs - 如何替换 componentWillRecieveProps
- c++ - 如何获取 C++ Char 数据类型的地址
- r - ggplot2中的离散图例中断
- url - 我可以使用 URL 链接预先选择下拉菜单的值吗?
- ios - 重新启动应用程序导致 NSInvalidArgumentException
- python - 将不同的人脸检测器与 dlib 的界标检测器一起使用
- c# - 尝试 catch 块,如果成功则继续执行