题
我们收到以下错误使用IPC。
"无法连接到一个IPC口:本系统找不到指定的文件"。
问题是发生在一个窗户2003年服务器。
当然,这只是发生在生产。我们无法重现,这在我们发展的环境。
Windows服务,是试图使用IPC运行为的当地系统。
是有某种权限,需要加以改变?
解决方案
我们正尝试将其纺丝之前接入信道。所以,我们会收到“未找到”的错误。包裹存取码在一些“是不是真的准备好”代码解决了这一问题。
其他提示
对于我来说DTA是工作的罚款。但突然我开始收到此相同的错误。
有关我修复是这样的:
-> Go To Task Manager
-> Go To Processes Tab
-> Find and kill the DTA process. For me this process is named as 'DTASHELL.exe'
现在尝试推出DTA。现在应该工作: - )
我们有这个问题产生的代码。这是未能在一个很小的百分比的用户的系统。
错误原来是microsoft的代码,我们使用。它产生的IPC道使用用户名。
ipc://APP_USER_000:SingeInstanceIPCChannel/SingleInstanceApplicationService
与某些人物的用户名,这会产生无效的通道网址,以便接收程序的失败,以创建的道在第一位。
我们的解决方法是使用的散列名,而不是第一个字符的用户名。
(我们使用这里的代码: http://blogs.microsoft.co.il/blogs/arik/archive/2010/05/28/wpf-single-instance-application.aspx )
请张贴使用初始化服务器通道和发布对象的代码,和与在尝试访问远程对象使用URI的客户机代码。
一个常见的问题是,当你初始化与字典的信道,并且使用所设置的频道的名称
dic["name"] = "channelName";
//used for retrieving the channel - ChannelServices.GetChannel("channelName");
代替
的dic["portName"] = "channelName";
//used as the identifier for the named pipe -
//The client should get the object from the uri : ipc://channelName/objectName
不隶属于 StackOverflow