普通用户如何启动WCF服务
2016-05-13 16:34
330 查看
做Winform项目时,部署到客户机上有两个应用程序,Host和Client,在Host上运行着WCF服务供Client调用。平时现在在测试的时候都没发现有问题,但是当安装到客户的正式环境时发现服务启动失败。如下图
![](https://images2015.cnblogs.com/blog/366625/201605/366625-20160513163323296-164906147.png)
可以很明显的知道是由于没有管理员权限造成的。那么是否WCF服务一定要在管理员权限下才能打开呢?查阅了相关资料,发现如下解决方法。
在管理员权限下运行上述程序,就已经把9090端口成功添加到监听列表中,然后在普通用户权限就可以胜利开启WCF服务。
![](https://images2015.cnblogs.com/blog/366625/201605/366625-20160513163323296-164906147.png)
可以很明显的知道是由于没有管理员权限造成的。那么是否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服务。
![](https://images2015.cnblogs.com/blog/366625/201605/366625-20160513163315859-2142489527.png)
相关文章推荐
- YJX_RXJH_CE_知识点
- hdu 1596(最短路变形)
- autocomplete一次返回多个值,并且选定后填到不同的Textbox中
- [LeetCode][Python]Top K Frequent Elements
- iOS怎样获取手机的ip地址
- 正则表达式
- Junit 单体测试
- CentOS下配置VNC
- 关于在MVC4中增加强类型的View时找不到Model问题的处理记录
- "a".equals(null)为false, a= null,a.equals()就不行了
- android studio 引用Lisbs的.so文件
- System V 机制(转)
- 让你明白response.sendRedirect()与request.getRequestDispatcher().forward()区别
- 类型基础
- MyEclipse中对项目分类管理
- Android内核开发:如何统计系统的启动时间
- 关于perfmon2的使用记录
- SKU
- CPLD与FPGA
- 设置UIButton中titleLabel和ImageView的位置