欢迎来到天天文库
浏览记录
ID:40800716
大小:201.50 KB
页数:9页
时间:2019-08-07
《C#跨平台访问主机资源--经验分享--Hennry》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、经验分享C#访问远程主机资源的方法案例最近在做项目是其中功能需要从其他Server中Copy文件到放程式所在的Server上程式运行时判断这个路径时确实是存在的:LOG记录:17:41:41-->\10.41.20.31wzscmsCMSCHERRYInv8005015861.WIINV_R17:41:41-->True17:41:41-->\10.41.20.31wzscmsCMSCHERRYInv8005015863.WIINV_R17:41:41-->True把路径拿出来运行也可以找到文件但是用if(File.Exists(path))程式判断的结果却
2、是不存在当前的路径经验分享1.检查文件夹访问的权限发现两台SERVER是可以相互访问的,证明不是权限问题2.在网上查找发现程式在运行时是以ASP.NET的身份运行的,而不是以本机的账户去运行的,所以在程式中必须给ASP.NET足够的权限才能访问资源3.在程式中写代码需要调用一段方法。经验分享publicboolConnect(stringremoteHost,stringuserName,stringpassWord){boolFlag=true;Processproc=newProcess();proc.StartInfo.FileName="cmd.exe";proc.Star
3、tInfo.UseShellExecute=false;proc.StartInfo.RedirectStandardInput=true;proc.StartInfo.RedirectStandardOutput=true;proc.StartInfo.RedirectStandardError=true;proc.StartInfo.CreateNoWindow=true;经验分享try{proc.Start();stringcommand=@"netuse\"+remoteHost+""+passWord+""+"/user:"+userName+">NUL";proc.S
4、tandardInput.WriteLine(command);command="exit";proc.StandardInput.WriteLine(command);while(proc.HasExited==false){proc.WaitForExit(1000);}stringerrormsg=proc.StandardError.ReadToEnd();if(errormsg!="")Flag=false;proc.StandardError.Close();}经验分享catch(Exceptionex){Flag=false;}finally{proc.Close()
5、;proc.Dispose();}returnFlag;}经验分享调用时:stringaaa=this.loMICUI.GetApKeyValue("IP"+txtplant.Text,"").ToString();if(Connect(aaa,"newpps","newpps")){}注意:方法的第一个参数不能用this关键字哦!ThankYou
此文档下载收益归作者所有