对路径“xxxxx”的访问被拒绝。

对路径“xxxxx”的访问被拒绝。对路径“D:\\Weixin\\WechatWeb\\wapMxApi\\JsonFile\\WaterPrice.json”的访问被拒绝。本地vs2013编译调试是没有问题的但是发布后就不能倍访问

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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);
                    }
                }
            }
        }

  

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/167220.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python3.6写一个http接口服务,给别人调用1

    python3.6写一个http接口服务,给别人调用1一、python3.6写一个http接口服务,给别人调用1首先推荐tornado,Tornado是一个Pythonweb框架和异步网络库,最初在FriendFeed开发。通过使用无阻塞网络I/O,Tornado可以扩展到数万个开放连接,使其成为长轮询、WebSocket和其他需要与每个用户建立长时间连接的应用程序的理想选择。简易而且本地win10能够跑起来。二、Torna…

    2022年5月24日
    51
  • 解决cron不执行的问题

    解决cron不执行的问题

    2021年11月9日
    46
  • sqlyog安装步骤_sqlyog安装教程

    sqlyog安装步骤_sqlyog安装教程百度网盘账号(QQ账号):374879539QQ密码:fjl12345进去下载SQLyog的安装包就可以了用完之后及得给我的博客点个赞和关注哦!

    2022年9月24日
    0
  • Kong网关upstream健康检查机制[通俗易懂]

    Kong网关upstream健康检查机制[通俗易懂]upstream概念及作用upstream是指位于Kong网关之后的上游API/service,即客户端请求被Kong网关转发到的目标地址。在Kong网关中,upstream表示虚拟主机名,可用于:健康检查 熔断 负载均衡。在实际生产环境中,upstream可以指向部署在不同ip和端口的服务(target),在Kong网关的service中代替具体的单个target的配置,结构图如下:负载均衡器以轮询等方式对upstream中配置的target进行负载,并对target进行健康检查,K

    2022年9月10日
    0
  • source insight 3.5注册码

    source insight 3.5注册码SI3US-631710-93181

    2022年7月3日
    22
  • 【SQL Server】关于报错“备份集中的数据库备份与现有的数据库”xxx”不同”的解决方案

    【SQL Server】关于报错“备份集中的数据库备份与现有的数据库”xxx”不同”的解决方案在做数据库备份与还原的过程中可能因为一下小的细节导致通过备份文件还原的时候报错:备份集中的数据库备份与现有的数据库"xxx"不同导致这种报错的原因是:备份文件与现有数据库的结构不一致因此要恢复数据库就需要去“选项”中勾选“覆盖现有数据库”这样备份就搞定了 …

    2022年6月9日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号