中国服务器网

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

DCOM中的模拟如何工作?

我有一个使用OLE自动编组器的DCOM客户端和服务器应用程序。 它们在同一台PC上运行时工作正常,但是当服务器在不同的PC上不在同一个域中时,我得到E_ACCESSDENIED(0x80070005)。 使用dcomcnfgconfiguration服务器PC,以便将所有DCOM对象的访问权限授予在客户端上指定其login名和密码的用户。 ServerApp及其types库在服务器PC上注册。 types库也在客户端PC上注册。 我直接在ClientApp中指定服务器名称,所以就我所知,客户端PC上不需要configurationdcomcnfg。 CreateInstanceEx()与服务器名称,login,域和密码工作正常。 它返回IUnknown,同时在服务器PC上启动ServerApp。 但是,当我尝试QueryInterface()为服务器支持的接口,我得到E_ACCESSDENIED。 分析安全事件日志,我有两个logging: 首先,用户在ClientApp中指定的凭据成功进行networkinglogin。 当我调用CreateInstanceEx()时会发生这种情况。 接下来, 我在客户端PC上login的用户login失败。 由于两台PC不在一个域中,所以该用户对于服务器PC是未知的。 现在,为什么这个用户会login到服务器,特别是当我调用QueryInterface的所有东西? 研究CreateInterfaceEx参数,似乎有某种模拟机制正在进行。 但是谁扮演谁还不清楚。 有三个用户凭证参与: ServerApp在服务器PC上运行的用户(在dcomcnfg中configuration)。 连接时ClientApp指定的用户的用户。 用户ClientApp在客户端PC上运行的凭据。 无论你如何看待它,如果涉及#3,它是一个用户太多。 如果DCOM要在服务器PC上识别/模拟#3,为什么我需要指定#2的凭据? 到了什么地步? DCOM假冒#2似乎是合乎逻辑的,因为这是我明确指定的凭据。 但为什么第二次login尝试呢? 有人能解释一下模拟是如何工作的,而且如果有一种方法可以忽略它并以dcomcnfg中指定的用户身份运行?

EPERM,操作不允许错误,configuration存储

我知道这是node常见的错误,但我所有的故障排除技术似乎都失败了。 Windows 7(32位) Node@0.10.10 npm@1.2.25 尝试运行像bower和yo (Yeoman)这样的包命令时会发生此问题。 为了我的理智,我在一个以pipe理员身份运行的Node.js命令提示符下执行这些命令。 例如,这里是用yo运行这个输出: Error: EPERM, operation not permitted 'C:\Users\me\.config\configstore\insight-yo.yml' at Object.fs.openSync (fs.js:427:18) at Object.fs.writeFileSync (fs.js:966:15) at Object.create.all.set (C:\Users\me\AppData\Roaming\npm\node_modules\yo\node_modules\insight\node_modules\configstore\configstore.js:39:7) at Object.Configstore (C:\Users\me\AppData\Roaming\npm\node_modules\yo\node_modules\insight\node_modules\configstore\configstore.js:30:11) at new Insight (C:\Users\me\AppData\Roaming\npm\node_modules\yo\node_modules\insight\lib\insight.js:20:16) at Object.<anonymous (C:\Users\me\AppData\Roaming\npm\node_modules\yo\bin\yo:25:15) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) 从本质上来说,似乎node进程不能写入这个.config文件夹。 我已经尝试了以下解决方法: 新鲜安装的node和个人包(在每一个可以想象的顺序) 为.config文件夹中的所有用户设置写入权限 在npm存储库中阅读Windows用户的注释之后重新安装git 有关此问题的任何想法或故障排除技巧? 谢谢!

IP端点0.0.0.0:13000上已经有一个监听器。 ?? (使用WCF的TCP)

我试图找出为什么即使在重新启动计算机后使用该端口! System.ServiceModel.AddressAlreadyInUseException:IP端点0.0.0.0:13000上已有一个侦听器。 如果另一个应用程序已经在此端点上侦听,或者您的服务主机中有多个具有相同IP端点但具有不兼容的绑定configuration的服务端点,则可能会发生这种情况。 —> System.Net.Sockets.SocketException:System上的System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot,SocketAddress socketAddress)通常只允许使用每个套接字地址(协议/networking地址/端口)。 Net.Sockets.Socket.Bind(EndPoint localEP)在System.ServiceModel.Channels.SocketConnectionListener.Listen()—内部exception堆栈跟踪结束—在系统的System.ServiceModel.Channels.SocketConnectionListener.Listen()。 System.ServiceModel.Channels.ConnectionAcceptor.StartAccepting()System.ServiceModel.Channels.ExclusiveTcpTransportManager.OnOpen()上的System.ServiceModel.Channels.TransportManager.Open(TransportChannelListener channelListener)上的ServiceModel.Channels.TracingConnectionListener.Listen()。 ServiceModel.Channels.TransportManagerContainer.Open(SelectTransportManagersCallback selectTransportManagerCallback)at System.ServiceModel.Channels.TcpChannelListener`2.OnOpen(TimeSpan timeout)at System.ServiceModel.Channels.Communicat 在System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan超时)在System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan超时)System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan超时)上的ionObject.Open(TimeSpan超时)。 ServiceModel.Channels.CommunicationObject.Open(TimeSpan超时)在Microsoft.Tools.SvcHost.ServiceHostHelper.OpenService(ServiceInfo信息)System.Net.Sockets.SocketException(0x80004005):每个套接字地址(协议/networking地址/端口)通常允许在System.Net.Sockets.Bind(EndPoint localEP)上的System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot,SocketAddress socketAddress)在System.ServiceModel.Channels.SocketConnectionListener.Listen() 你如何找出哪个进程在监听那个端口(13000)? Netstat在该端口上没有显示任何内容。 这是我的App.config: <system.web> <compilation debug="true" /> </system.web> <!– When deploying the service library project, the content of the config file must be added to the host's app.config file. System.Configuration does not support config […]