有个需求,需要访问内网网络共享文件夹中的文件,有域控限制。
一开始直接在本地映射一个网络驱动器,然后像本地磁盘一样访问共享文件夹里的文件,比如:Y:\ 。
然后直接在程序中访问共享文件夹中的文件,如下代码:
DirectoryInfo directoryInfo = new DirectoryInfo(@"\\10.10.65.14\文件夹"); if (directoryInfo.Exists) { FileInfo[] fileInfos = directoryInfo.GetFiles(); string result = String.Empty; foreach (FileInfo fileInfo in fileInfos) { result += fileInfo.Name + "\n"; } await MessageService1.Show(new MessageOption() { Content = result }); }
经过测试,发现调试程序时能够访问得到里面的文件,但发布程序后不能得到里面的文件。初步判断,IIS的某些设置权限没有开放。
设置方法:
应用程序池-高级设置-标识-自定义账户,设置你登录此系统的用户名和密码。
结论:
1. 登录系统的账号为administrators管理员权限
2. 不能使用Y:\文件夹 这样的路径直接访问,直接使用其网络路径,例如:\\10.10.65.14\文件夹
3. 项目发布到IIS后,选择应用程序池,设置应用程序池标识为该账号。
标签:应用程序,directoryInfo,文件夹,result,设置,访问共享,Blazor,WTM From: https://www.cnblogs.com/guwei4037/p/17723009.html