zoukankan      html  css  js  c++  java
  • 普通用户如何启动WCF服务

    做Winform项目时,部署到客户机上有两个应用程序,Host和Client,在Host上运行着WCF服务供Client调用。平时现在在测试的时候都没发现有问题,但是当安装到客户的正式环境时发现服务启动失败。如下图

    可以很明显的知道是由于没有管理员权限造成的。那么是否WCF服务一定要在管理员权限下才能打开呢?查阅了相关资料,发现如下解决方法。

    public static class NetAclChecker
    {
    public static void AddUrlAclToEveryOne(int port) { string args = string.Format(@"http add urlacl url=http://+:{0}/ user=everyone", port);
    //注意,如果是西班牙环境需要切换成user=todos
                var psi = new ProcessStartInfo("netsh", args); 
    psi.Verb
    = "runas";
    psi.CreateNoWindow
    = true;
    psi.WindowStyle
    = ProcessWindowStyle.Hidden;
    psi.UseShellExecute
    = true;
    Process.Start(psi).WaitForExit();
    }
    }
     class Program
        {
            static void Main(string[] args)
            {
                int port = 9090;
    
                NetAclChecker.AddUrlAclToEveryOne(port);
            }
        }

    在管理员权限下运行上述程序,就已经把9090端口成功添加到监听列表中,然后在普通用户权限就可以胜利开启WCF服务。

  • 相关阅读:
    延迟为程序集签名
    bootshrap会改变IE浏览器滚动条样式
    Spark算子选择策略
    kafka常用系统命令-1
    数据结构-树
    1.PyCharm 用法
    sql 语句用法
    linux命令
    linux命令
    es的相关知识二(检索文档)
  • 原文地址:https://www.cnblogs.com/JustYong/p/5489901.html
Copyright © 2011-2022 走看看