普通用户如何启动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);

            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服务。

时间: 2024-10-11 03:04:34

普通用户如何启动WCF服务的相关文章

普通用户下启动Nginx服务

[普通用户下启动nginx服务] 1.创建普通用户 #useradd huazhixu #tail -5 /etc/passwd #echo 123456 | passwd --stdin huazhixu 2.切换进普通用户 #su - huazhixu 创建普通用户启动的nginx配置文件和站点目录等 $mkdir -p /home/huazhixu/conf/ $cp /usr/local/nginx/conf /home/huazhixu/conf  -ap $cp /usr/local

windows下以普通用户权限启动apache服务

在windows下安装apache,默认情况下,apache以本地系统权限启动服务,权限过高,存在安全隐患.以普通用户权限启动apache服务的步骤如下: 添加一个普通用户apache_user 打开服务管理器,在apache服务的属性页的登录选项卡下,选中"此用户",然后输入apache_user及其密码 修改apache安装目录下logs目录的权限,使apache_user对其有完全控制权限 重启apache服务(如果失败,请重启操作系统) 原文地址:http://blog.51c

普通用户启动nginx服务

普通用户下启动nginx服务 创建普通用户 useradd lvnian010101 tail -5 /etc/passwd echo asdasd | passwd --stdin lvnian010101 ############## [[email protected] home]# useradd lvnian010101 [[email protected] home]# tail -5 /etc/passwd deng:x:500:500::/home/deng:/bin/bash

启动WCF多个服务方法

引用就不说明,直接贴上: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.ServiceModel;using System.Configuration;using System.Collections; public class WCFServiceHelper { private static List<ServiceHost> _ServiceHo

一个简单的WCF服务

以订票为例简单应用wcf程序,需要的朋友可以参考下 WCF实例(带步骤) 复制代码代码如下: <xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" /> 本篇转自百度文档,自己试过,确实可以用. 以订票为例简单应用wcf 新建一个wcf服务应用程序 在IService1.cs定义服务契约 复制代码代码如下: namespace WcfDemo { // 注意: 如果

记录:Web无引用无配置方式动态调用WCF服务

这几年一直用WebApi较多,最近项目中有个需求比较适合使用WCF,以前也用过JQuery直接调用Wcf的,但是说实话真的忘了… 所以这次解决完还是花几分钟记录一下 WCF服务端:宿主在现有Win服务中,在服务启动时添加代码 ,服务代码就不用写了,接口和实现按照契约实现即可 private ServiceHost serviceHost = null; //服务宿主 //启动WCF服务 if (serviceHost != null) { serviceHost.Close(); } servi

命令行启动mysql服务

在<计算机网络>课程中曾学过net命令,可以用于启动后台服务.在mysql中,net命令用于启动后台服务器进程mysqld,即后台服务. 不过,如果在普通用户模式下net start mysql是无法启动mysql服务的,情况如下图所示. 普通用户模式启动mysql服务失败 这是为什么?原因在于,后台服务是安全级别相对较高的,只有管理员才具有启动后台服务的权限,因此普通用户模式下启动mysql服务是不可能成功的,而在管理员模式下则能成功.管理员模式下启动mysql服务如下图所示. 管理员模式启

WCF服务自宿主

在WPF客户端引用WCF服务项目程序集和System.ServiceModel程序集,如果需要读取配置文件则引用System.Configuration程序集. 在App.cs 文件中相应的方法添加相应的启动服务方法,整体示例代码如下: private MainWindow mainWindow; private ServiceHost Host = null; static App() Unknown macro: { //MVVM多线程UI处理帮助类. // DispatcherHelper

搭建C#wcf服务端项目

此项目主要是为其他的web项目做一个服务端,使用wcf实现通信: 1.建一个wcf的宿主winform项目 2.创建一个wcf项目: 3.配置App.config 把wcf项目的App.config的下图配置节点剪切到宿主winform项目的App.config里 配置宿主winform项目的App.config 3.编辑wcf代码 1)定义接口和实现接口 2)编写接口和实体类代码 4.编写宿主winform 的启动wcf服务代码 1)在宿主的winform项目中引用wcf项目的dll 2)编写