问题描述
我的程序中有一个windows服务程序和一个asp.netweb页面,两者通过一个xml文件进行交互。windows服务程序间隔读写xml文件,asp.netweb页面间隔读取xml文件。我通过一个mutex控制对两个程序xml文件的访问。两者的用户分别为"CHINA\Administrator"和"NTAUTHORITY\NETWORKSERVICE",程序应该怎么写实现两者有访问mutex的权限?如果不用mutex,有其他比较好的方法吗?booldoesNotExist=false;//表示是否不存在//boolunauthorized=false;//表示是否没有授权boolmutexWasHaved;//表示是否得到所有权//尝试打开mutextry{//使用同步和修改的权限打开mutex,来进入和释放mutexm=Mutex.OpenExisting(mutexName);}catch(WaitHandleCannotBeOpenedException){doesNotExist=true;}//catch(UnauthorizedAccessExceptionex)//{//unauthorized=true;//}//如果不存在则创建if(doesNotExist){stringuser=Environment.UserDomainName+"\"+Environment.UserName;MutexSecuritymSec=newMutexSecurity();MutexAccessRulerule=newMutexAccessRule(user,MutexRights.FullControl,AccessControlType.Allow);mSec.AddAccessRule(rule);stringuser2="NTAUTHORITY\NETWORKSERVICE";rule=newMutexAccessRule(user2,MutexRights.FullControl,AccessControlType.Allow);mSec.AddAccessRule(rule);m=newMutex(false,mutexName,outmutexWasHaved,mSec);}
解决方案
解决方案二:
最简单的就是写Log。