跨进程通讯中的权限问题

lyserver 2014-03-07 07:44:58
问题描述:
现有两个项目在同一台机器上运行,一个是Web APP,一个是Windows APP,两者之间使用EventWaitHandle进行通讯,在开发环境中运行正常,但Web APP发布到IIS后,两者通讯失败,原因是We APP运行帐户为“NT AUTHORITY\NETWORK SERVICE”,Windows APP运行账户为“机器名\Administrator”,虽然在创建EventWaitHandle时通过EventWaitHandleSecurity加上了访问权限,但仍然不起作用。
我在网上找到一个同类的问题,可惜没有答案:http://bbs.csdn.net/topics/190050473
谢谢大家,顶者有分!
...全文
262 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
grittycedar 2014-10-19
  • 打赏
  • 举报
回复
楼主最后是怎么解决的呢?
lyserver 2014-03-08
  • 打赏
  • 举报
回复
引用 9 楼 sp1234 的回复:
跨进程通讯根本就不应该根据名称访问,根本就不需要“使用EventWaitHandle来传递事件”。 如果你一定要这样,而不是通过正常的通讯方式来传递事件消息,那么只好结束游戏。
常用的跨进程通讯一般都使用名字或端口,当然还有全局DLL、远程指针等,我主要是不想使用端口而已,另外只是想搞明白IIS进程(aspnet_wp)的权限限制。
  • 打赏
  • 举报
回复
跨进程通讯根本就不应该根据名称访问,根本就不需要“使用EventWaitHandle来传递事件”。 如果你一定要这样,而不是通过正常的通讯方式来传递事件消息,那么只好结束游戏。
lyserver 2014-03-08
  • 打赏
  • 举报
回复
引用 7 楼 sp1234 的回复:
如果不能真正跨进程(特别是不同用户的进程),就应该丢掉你的“传递事件”的说法。 从一个进程通知另一个进程某个事件应该触发,也是通讯的结果。如果你“实际上我通讯使用的是管道”,那么想触发另一个进程触发某事件,也应该使用管道。
谢谢sp1234,现在的问题是不管用命名管道、命名内存映射、命名mutex等对象,只要把web application发布到IIS6以后,应用程序就不能根据名称来访问它了,因为两者的权限不一样,也不知道有没有解决办法,我正在尝试配置iis_admin服务和asp.net帐户来提升权限,还没能实现。
  • 打赏
  • 举报
回复
如果不能真正跨进程(特别是不同用户的进程),就应该丢掉你的“传递事件”的说法。 从一个进程通知另一个进程某个事件应该触发,也是通讯的结果。如果你“实际上我通讯使用的是管道”,那么想触发另一个进程触发某事件,也应该使用管道。
lyserver 2014-03-08
  • 打赏
  • 举报
回复
谢谢xu56180825、sp1234、sj490790083的回复,自己再顶一下。
lyserver 2014-03-08
  • 打赏
  • 举报
回复
引用 2 楼 sp1234 的回复:
同一个机器上跨进程通讯,可以使用共享内存方式、命名管道方式、UDP方式等等。
我使用了共享内存来传递数据,使用EventWaitHandle来传递事件,不发布到IIS时都没有问题,发布到IIS后会因为权限导出相互访问出现问题。
lyserver 2014-03-08
  • 打赏
  • 举报
回复
引用 2 楼 sp1234 的回复:
同一个机器上跨进程通讯,可以使用共享内存方式、命名管道方式、UDP方式等等。
实际上我通讯使用的是管道,事件 问题是不管使用哪种方式,在IIS里都会
引用 1 楼 xu56180825 的回复:
可以使用Mutex,定义全局的,但只能简单通讯
使用Mutex也一样存在权限不足的问题啊。
lyserver 2014-03-08
  • 打赏
  • 举报
回复
问题解决了,谢谢大家的参与!
lyserver 2014-03-08
  • 打赏
  • 举报
回复
补充一下,我所说的使用名称或端口,是使用mutex、邮槽、信号量、socket等方式的具体使用。
sj490790083 2014-03-07
  • 打赏
  • 举报
回复
.Net Remoting可以做到吧
  • 打赏
  • 举报
回复
同一个机器上跨进程通讯,可以使用共享内存方式、命名管道方式、UDP方式等等。
xu56180825 2014-03-07
  • 打赏
  • 举报
回复
可以使用Mutex,定义全局的,但只能简单通讯

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧