目前的配置是在windows server 2003版本上的。具体的其他版本的windows配置应该是差不多的
我做的配置如下:
首先我的配置都是在没有域的情况下进行的。如果有域且在一个域内,或者不在一个域内就另当别论,可能需要额外的一些限制。
没有域的情况,最好是客户端和服务器都是同样的用户名和密码。而且以下的配置在客户端和服务器端都要配置。
1.关闭防火墙
2.开始―>运行―>输入:dcomcnfg
3. 进入DCOM的总体默认属性页面,将“在这台计算机上启用分布式COM”打上勾,将默认身份级别改为“无”。如下面画面
4.打开属性―>切换到“安全”属性页,分别编辑如下4个选项。
5.以上4个选项分别添加everyone,administratro,anonymous user三个用户用户,并勾选上所有权限选项。【请注意是三个用户,如果少了一个有可能出现找不到服务器的情况】
6.设置DTC,在msdtc标签下,点击“安全性配置”,按下图配置
7.在OPC服务器上,还要回到“组件服务”界面,打开DCOM配置,找到注册的OPC服务器的名称选项,打开它的属性。
我的是Matrikon OPC Server for Simulation and Testing,并且找到OpcEnum两个做一样的配置。
8.有的教程上面写了还要启动交互式用户,但是我那里的按钮是灰色的,就没有做这一步,事实证明这是可以跳过的。
9.本地安全策略配置
打开“控制面版”--“管理工具”--打开“本地安全策略”
安全选项―>”网络访问:本地帐户的共享和安全模式”->属性
选择“经典―本地用户以自己的身份验证”
做完了。有疑问请看
http://www.cnblogs.com/zhangronghua/archive/2008/12/18/1357632.html
http://www.automatedsolutions.com/technotes/opcserverconnectivity/Default.asp
在部署的时候发现了,在控制台程序能访问,但是在IIS下不能访问的情况,请在Web.config->system.web中加入
<identity impersonate="true"/>,并将MartikonOPC Server for Simulation and Testing按照如图箭头设置。