gpt4 book ai didi

c# - 没有管理权限的本地主机上的自托管 REST API

转载 作者:可可西里 更新时间:2023-11-01 09:19:46 26 4
gpt4 key购买 nike

我想在我的 WPF 应用程序中实现一个简单的自承载 REST API,它监听本地主机上的特定端口。此 API 将由网站使用,以便与正在运行的 WPF 应用程序进行通信。

没过多久,我就遇到了 System.ServiceModel.AddressAccessDeniedException 错误。必须保留 URL,并且只有在进程以提升的权限运行时才能这样做。问题在于,该应用程序已在具有不同 IT 策略的数千家公司中使用,这使得该应用程序几乎不可能在每次启动时都需要管理权限。

这是我的测试代码:

    _task = Task.Factory.StartNew(() =>
{
var uri = new Uri("http://localhost:5000/test");
var type = typeof (TestService);
WebServiceHost host = new WebServiceHost(type, uri);
WebHttpBinding binding = new WebHttpBinding();
binding.CrossDomainScriptAccessEnabled = true;
host.AddServiceEndpoint(type, binding, uri);
host.Open();
});

有什么解决办法吗?我可以使用任何第 3 方软件包吗?或者我可以在安装应用程序期间保留 URL,因为安装需要提升的权限吗?或者这是一条死胡同?

最佳答案

只需在安装期间运行:

netsh http add urlacl url=http://+:5000/Test/ user=Everyone

请注意,您可以将 userEveryone 限制为登录用户,例如user=MyDomain\John

关于c# - 没有管理权限的本地主机上的自托管 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35361029/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com