问题描述
目标:在A业务服务器(winserverR2)上运行的网站,向同域服务器B某个文件夹写入一个文本文件。问题:代码在本地运行正常,在A上则无法写入。尝试:1.在B服务器文件夹设置权限,应该不是这个问题。如果把地址改为本地,是可以的。结果:完全不知道为什么在A上无法向B的文件夹写入文件???下面是具体代码DataSetdsContract=SPExecuter().ExecuteDataSetSP("SS_IF_ERP",ht);if(dsContract.Tables[0].Columns.Count>0){stringSHcontractTxt=@"H"+System.DateTime.Now.ToString("yyyyMMddHHmmss",DateTimeFormatInfo.InvariantInfo);FileStreamfs=newFileStream(@"\135.101.0.10erpsap100"+SHcontractTxt+CreateRandomNo1().ToString(),FileMode.CreateNew,FileAccess.Write);//FileStreamfs=newFileStream(@"D:testinput"+SHcontractTxt+CreateRandomNo1().ToString(),FileMode.CreateNew,FileAccess.Write);StreamWritersw=newStreamWriter(fs,System.Text.Encoding.GetEncoding("GB2312"));//sw.Flush();//sw.BaseStream.Seek(0,SeekOrigin.End);for(inti=0;i<dsContract.Tables[0].Columns.Count;i++){stringa=dsContract.Tables[0].Rows[0][i].ToString();sw.Write("|"+a.Trim());}sw.WriteLine();sw.Flush();sw.Close();returntrue;}else{returnfalse;}
解决方案
解决方案二:
你这样远程,估计不行吧,可能会受到权限的限制,你还不如在B服务写个服务或接口,然后A这边直接调用方法就行了,就是把业务逻辑功能写在B上面
解决方案三:
引用1楼myhope88的回复:
你这样远程,估计不行吧,可能会受到权限的限制,你还不如在B服务写个服务或接口,然后A这边直接调用方法就行了,就是把业务逻辑功能写在B上面
权限也就是文件夹的写入权限而已,已经设定好。最奇怪的是我在本地调试时正常写入,一放在服务器上就不行了。
解决方案四:
你设置的是你的账号可以访问服务器,不是iis账号可以访问吧
解决方案五:
要向其他服务器写文件,首先要有写的权限如果其他服务器有密码,还得登陆。可以配置个凭据,以后就可以一直自动登陆了。参考资料:http://baike.baidu.com/link?url=Chyay9k39yU2yDi2LQUK_77GyXXlF5C7qmA2DGvsd9ETDHS0y7k6PpJucZYA7VM8PwsuE3qO1ttQldJMgd_Hmq
解决方案六:
引用3楼starfd的回复:
你设置的是你的账号可以访问服务器,不是iis账号可以访问吧
没有设置账号啊,就是设置了服务器对B这个文件夹的权限