我正在编写一个应用程序在桌面计算机上进行部署,并使用ServiceStack将json服务公开给将占用它们的中央应用程序。我正在使用ServiceStack自托管服务,并且几乎只是跟随ServiceStack维基例子来启动和运行基本连接。动态IP地址桌面上的ServiceStack服务器
这是用来启动服务器,并将其绑定
appHost.Init();
appHost.Start("http://server_ip:port/");
Windows还需要进行配置,以便非管理员可以接受传入的请求;使用管理员命令提示符下的此命令
netsh http add urlacl=http://server_ip:port/ user=desktopMachineName\desktopUserName listen=yes
注意:这似乎很脆弱。如果appHost.Start(urlBase)命令中的urlBase与netsh命令中的urlacl参数不同,则Windows拒绝连接。顺便说一句我只在Windows 8试过这个。
是否有一种替代方法,以便应用程序可以承受桌面计算机IP地址(例如由DHCP引起的变化)?
这是一个桌面环境,所以我不希望用户为他们的计算机设置主机名或静态IP地址。我也试图不要求他们在命令提示符下键入命令。