1、浏览器跨域调起本地写的http服务,报错
Failed to load http://x.x.x.x:xxx: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://x.x.x.x' is therefore not allowed access
这个貌似是跟服务端有关,只需要本地的http服务的响应加上头部
Access-Control-Allow-Origin | * |
表示服务端允许跨域请求
Access-Control-Allow-Origin - HTTP | MDN
2、关于本地启动http监听服务,是需要管理员权限运行才能监听的
或者管理员执行命令
netsh http add urlacl url=http://127.0.0.1:80/test user=Everyone
中间的ip、端口、接口可以换,相当于是加白
删除加白使用
netsh http delete urlacl url=http://127.0.0.1:80/test
查看当前加白名单
netsh http show urlacl
.net - c#: HttpListener setup on https without admin rights - Stack Overflow
3、C# 请求的操作需要提升
说明你启动的应用需要管理员权限
如果只需要将A应用标记为需要管理员权限才能启动(图标上有个盾),需要修改manifest,参照
C#程序设置以管理员权限运行_小鹰信息技术服务部的博客-CSDN博客_c# 管理员权限
如果说,我先启动一个A应用(非管理员权限启动),我想要A应用(以管理员权限)拉起B应用,因为B应用需要管理员权限,就需要在启动信息(A应用使用Process.start时)中添加
Verb = "runas"
但是不能选择隐藏窗口,即下面这个选项要打开,下面选项不能为false
UseShellExecute = true
C# 调用Process.Start 请求的操作需要提升解决方案|C/S框架网
c# - Elevating privileges doesn't work with UseShellExecute=false - Stack Overflow