大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
对路径“D:\\Weixin\\WechatWeb\\wapMxApi\\JsonFile\\WaterPrice.json”的访问被拒绝。
本地vs2013编译调试是没有问题的但是发布后就不能倍访问,找了好久网上的资料各种
解决方法都有,单我的这个问题始终没有解决。很迷。。。。
最后发现代码写得不对:
开始我并没有 写
System.IO.Directory.Exists(filePath)
这句话没写其实是很不对的,不去自己检测创建文件路径的话,那么后果就是在发布的时候
每次发布你都要自己新建一个文件加。。。(自己好蠢)
加上文件路径的判断和创建然后发布在服务器上后,重新新建数据写入文件;这时就发现
原来的文件和现在的文件的权限少了=====》 IUSR
所以我想代码创建的文件加权限和手动创建的文件夹的角色权限是不一样的
所以我们尽量避免(可能也只有我这样)不去代码创建文件路径:
/// <summary> /// 单个模型读方法 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="filename"></param> /// <returns></returns> public static T ReadObjectByJson<T>(string filename) { if (!System.IO.Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } string file = filePath + filename; using (FileStream fs = new FileStream(file, FileMode.OpenOrCreate)) { using (StreamReader sr = new StreamReader(fs)) { try { JsonSerializer serializer = new JsonSerializer(); using (JsonReader reader = new JsonTextReader(sr)) { return serializer.Deserialize<T>(reader); } } catch (Exception ex) { ex.Message.ToString(); return default(T); } } } }
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/167220.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...