当前位置: 首页 > news >正文

C#关于WebService中File.Exists()处理远程路径的异常记录

目录

  • 前言
    • 方案一
      • 打开网站对应的程序池的高级设置
      • 按下图步骤设置凭据
      • 重启网站
      • 若方案一未能解决,请继续尝试方案二👇
    • 方案二
      • 从控制面板进入到 凭据管理器
      • 为windows凭据添加凭据
        • 点击**Windows凭据**,并点击**添加Windows凭据**
        • 键入远程路径的地址、账户名和访问密码
      • 再次调用WebService即可成功
    • 总结

欢迎来访博主私人 薄·客.

前言

bool isExists = File.Exists(FileFullPathName);

没错,再熟悉不过的一行代码。大部分情况下,它的返回是正确的。但是在开发过程中,我确实遇到了比较棘手的情况:

在Debug模式下,它是没有问题的;当我发布到IIS后,传入FileFullPathName远程共享路径时,且确保路径格式没有问题的前提下,它将确实存在的文件判断为不存在。(这里强调一下:通过文件管理器直接访问这个远程文件路径是OK的)一开始,就觉得很神奇,很无语😶(ˉ▽ˉ;)…

像大家一样,我转向百度获取解决办法,大概分为这几种:

1、如果路径是Copy的,可能在Copy的过程中包含了不可视的Unicode字符,建议手动一个一个路径敲上去;
2、尝试使用Directory.Exists(path)【注意:Directory.Exists是用来判断文件夹是否存在的;File.Exists是用来判断文件是否存在的】
3、权限问题【算是说到点子上了,但是就是找不到具体的解决办法】

所以,该篇文章,将主要针对上述第三点展开具体解决措施的描述:

下文将从两个方法展开讲解,方式一和方式二取其一即可

方案一

归根到底问题出在IIS WebService,前面我们说了,Debug模式下它是能正常访问的,所以方案一中我们对IIS对应的WebService服务进行权限设置:

打开网站对应的程序池的高级设置

打开网站对应的程序池的高级设置

按下图步骤设置凭据

 按图步骤设置凭据

重启网站

重启网站

若方案一未能解决,请继续尝试方案二👇

方案二

如果方案一还是无效,那就需要取操作Windows凭据

从控制面板进入到 凭据管理器

凭据管理器

为windows凭据添加凭据

点击Windows凭据,并点击添加Windows凭据

添加凭据

键入远程路径的地址、账户名和访问密码

键入信息

再次调用WebService即可成功

总结

所以我们在保证路径格式正确的前提下,只能考虑权限的问题。 我们通常在文件管理器键入路径访问方式下的账户不同于IIS调用方式的账户

以下官方文档中就给到了很明确的解释:
官方说明

Alt

相关文章:

C#关于WebService中File.Exists()处理远程路径的异常记录

目录 前言方案一打开网站对应的程序池的高级设置按下图步骤设置凭据重启网站若方案一未能解决,请继续尝试方案二👇 方案二从控制面板进入到 凭据管理器为windows凭据添加凭据点击**Windows凭据**,并点击**添加Windows凭据**键入远程路径的地址…...

JavaWeb_LeadNews_Day10-Xxljob, Redis实现定时热文章

JavaWeb_LeadNews_Day10-Xxljob, Redis实现定时热文章 xxl-job概述windows部署调度中心docker部署调度中心 xxl-job入门案例xxl-job分片广播热点文章定时计算思路分析具体实现热文章计算定时计算 查询文章接口改造来源Gitee xxl-job概述 windows部署调度中心 运行 xxl-job\do…...

【WebRTC---源码篇】(二:二)视频源VideoSourceBase

作用 这个类继承自VideoSourceInterface<webrtc::VideoFrame>模板类,并且可以处理webrtc::VideoFrame class VideoSourceBase : public VideoSourceInterface<webrtc::VideoFrame> 重要成员变量 struct SinkPair {SinkPair(VideoSinkInterface<webrtc::Vid…...

Linux_8_磁盘存储和文件系统

1 磁盘结构 1.1 设备文件 一切皆文件: open(),read(),write(),close() 设备文件:关联至一个设备驱动程序&#xff0c;进而能够跟与之对应硬件设备进行通信 设备号码: ​ 主设备号 major number,标识设备类型​ 次设备号 minor number,标识同一类型下的不同设备 设备类型:…...

VS + QT 封装带UI界面的DLL

一、创建编译DLL的项目 1.新建Qt Class Liabrary 2.新建项目&#xff0c;选择Qt Widgets Class 3.新建C类&#xff0c;可以在此类里面写算法函数用于调用。 4.下面是添加完Qt窗体类和C类之后的项目截图 5.修改头文件并编译 将uidemo_global.h中的ifdef内容复制到dialog.h上…...

逆向工程-架构真题(二十)

结构化程序设计采用自顶向下、逐步求精及模块化程序设计方法&#xff0c;通过&#xff08;&#xff09;三种基本控制结构可以构造出任何单入口单出口程序。 顺序、选择和嵌套顺序、分支和循环分支、并发和循环跳转、选择和并发 答案&#xff1a;B 解析&#xff1a; 结构化设…...

Zookeeper 入门

第 1 章 Zookeeper 入门 1.1概述 Zookeeper从设计模式角度来理解&#xff1a;是一个基于观察者模式设计的分布式服务管理框架&#xff0c;它负责存储和管理大家都关心的数据&#xff0c;然后接受观察者的注册&#xff0c;一旦这些数据的状态发生变化&#xff0c;Zookeeper就将…...

记录--前端使用a链接下载内容增加loading效果

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 问题描述&#xff1a;最近工作中出现一个需求&#xff0c;纯前端下载 Excel 数据&#xff0c;并且有的下载内容很多&#xff0c;这时需要给下载增加一个 loading 效果。 代码如下&#xff1a; // util…...

如何获取用户的ip地址

用户的 IP 地址可能会被隐藏或者修改&#xff0c;例如使用代理服务器、VPN 等工具&#xff0c;这样就无法准确获取用户的真实 IP 地址。 除了以上特殊情况&#xff0c;一般情况下 用户访问可能会经过一下链路 &#xff1a; 前端—>nginx—>网关—>服务 。 一般情况下后…...

单片机-控制按键点亮LED灯

1、按键电路图 定义四个按键引脚 1、按键按下 为 输入为低电平 2、按键不按下 IO有上拉电阻&#xff0c;为高电平 // 定义 按键的 管教 sbit KEY1 P3^1; sbit KEY2 P3^0; sbit KEY3 P3^2; sbit KEY4 P3^3; 2、LED灯电路图 LED 输出高电平为亮 // 定义LED灯 管教 sbit LED1…...

微信小程序新版隐私协议弹窗实现最新版

1. 微信小程序又双叒叕更新了 2023.08.22更新&#xff1a; 以下指南中涉及的 getPrivacySetting、onNeedPrivacyAuthorization、requirePrivacyAuthorize 等接口目前可以正常接入调试。调试说明&#xff1a; 在 2023年9月15号之前&#xff0c;在 app.json 中配置 __usePriva…...

GO语言圣经 第五章习题

练习5.1 修改findlinks代码中遍历n.FirstChild链表的部分&#xff0c;将循环调用visit&#xff0c;改成递归调用。 func visit(links []string, n *html.Node) []string {if n nil {return links}if n.Type html.ElementNode && n.Data "a" {for _, a : r…...

用kotlin 开发一个简单的多页面跳转

本文介绍一个简单的安卓应用的页面跳转例子&#xff0c;用的是kotlin。 运行时主页面是一个hello 和Jump 按钮&#xff0c;你按一下jump 按钮就转到 从页面&#xff0c;只是标识从页面。 开始建立一个简单工程&#xff0c;名为hello&#xff0c; 选择的是Empty views Activit…...

记录我的tensorrt 部署yolov8

系统 &#xff1a;ubuntu 18.04 代码 &#xff1a;GitHub - noahmr/yolov5-tensorrt: Real-time object detection with YOLOv5 and TensorRT conda 环境 &#xff1a; GitHub - noahmr/yolov5-tensorrt: Real-time object detection with YOLOv5 and TensorRT cuda : 11.8 …...

什么是用户界面? 优漫动游

什么是用户界面&#xff1f; 用户界面(UI&#xff0c;UserInterface)也称人机界面&#xff0c;是人机交互、操作逻辑和界面表现的整体设计。每一种设计都有其对应的职业角色&#xff0c;其中&#xff0c;人机交互的设计人员叫做用户研究工程师&#xff0c;操作逻辑设计人员叫…...

基于 Docker 的 MySQL 主从复制搭建(Mac M1版本)

系统&#xff1a;Macbook M1 镜像版本&#xff1a;mysql:5.7 如果是要查 slave连接不上 master的问题&#xff0c;可以直接跳到文章末尾踩坑处 准备工作 拉取镜像 docker pull mysql:5.7本地数据卷挂载 因为mysql不挂载的话&#xff0c;重启丢失数据&#xff0c;所以在本地创…...

【Locomotor运动模块】瞬移

文章目录 一、原理二、两种类型1、Instant(立刻)2、Dash&#xff08;猛冲&#xff09; 三、瞬移区域、瞬移点1、瞬移区域2、瞬移点 一、原理 抛物线指针选择好目标位置&#xff0c;然后告诉瞬移预设体&#xff1a;你想法把游戏区域弄到目标位置来 解释&#xff1a;抛物线指针选…...

【负载均衡】常见的负载均衡策略有哪些?

文章目录 前言负载均衡分类常见负载均衡策略小结 前言 负载均衡策略是实现负载均衡器的关键&#xff0c;而负载均衡器又是分布式系统中不可或缺的重要组件。使用它有助于提高系统的整体性能、可用性、可靠性和安全性&#xff0c;同时支持系统的扩展和故障容忍性。对于处理大量…...

ChatGPT如何应对紧急救援和医疗应急?

ChatGPT在紧急救援和医疗应急方面具有潜在的重要用途。它可以用于提供信息、建议和支持&#xff0c;以帮助应对各种突发事件&#xff0c;如自然灾害、流行病爆发、事故等。以下是ChatGPT如何应对紧急救援和医疗应急的方式以及相关挑战的详细讨论。 ### 紧急救援 #### 1. 提供…...

vue3 ref reactive响应式数据 赋值的问题

文章目录 vue3 ref reactive响应式数据 赋值的问题场景1:将响应式数据赋值请求后的数据错误示范&#xff1a;直接赋值正确写法 场景2&#xff1a;响应式数据解构之后失去响应式原因分析解决办法 toRefs/toRef方法创建ref引用对象 vue3 ref reactive响应式数据 赋值的问题 doing…...

企业级邮件系统自建指南:从技术选型到生产部署

企业级邮件系统自建指南&#xff1a;从技术选型到生产部署 【免费下载链接】james-project James Project是一个用于电子邮件服务器的开源软件。适用于需要为其邮件基础设施提供强大和可靠的邮件传输代理的企业和组织。具有可扩展性、灵活性和易于使用的特点。 项目地址: htt…...

保姆级教程:用BERT微调一个智能家居语音助手的意图识别模型(含完整代码)

智能家居场景下的BERT意图识别实战&#xff1a;从数据标注到模型部署 想象一下&#xff0c;当你对家里的智能音箱说"把客厅灯调暗一点"时&#xff0c;设备能准确理解你的意图并执行操作。这种自然交互的背后&#xff0c;是意图识别技术在发挥作用。不同于通用对话系…...

Apollo自动驾驶系统C++核心模块实战解析——从源码到实现

1. Apollo自动驾驶系统架构全景解析 第一次打开Apollo源码仓库时&#xff0c;我完全被它庞大的代码量震撼到了——超过200万行C代码构成的自动驾驶系统&#xff0c;就像一座精密的机械钟表。但当你拆解它的核心模块后&#xff0c;会发现其架构设计处处体现着模块化和高内聚低耦…...

如何彻底解决Zotero-GPT集成中的AI调用故障:从诊断到优化的完整技术指南

如何彻底解决Zotero-GPT集成中的AI调用故障&#xff1a;从诊断到优化的完整技术指南 【免费下载链接】zotero-gpt GPT Meet Zotero. 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-gpt Zotero-GPT项目作为文献管理工具与大型语言模型的深度集成方案&#xff0c;为…...

Vivado IP封装实战:从源码到GUI配置的完整避坑指南(含EDF/DCP对比)

Vivado IP封装实战&#xff1a;从源码到GUI配置的完整避坑指南&#xff08;含EDF/DCP对比&#xff09; 在FPGA开发中&#xff0c;团队协作和代码共享是常见需求&#xff0c;但如何平衡代码保护与功能灵活性一直是开发者面临的难题。Vivado提供了多种模块封装方案&#xff0c;每…...

别再手动复制粘贴了!用CubeMX一键生成FreeRTOS工程(STM32F4 HAL库实战)

告别繁琐配置&#xff1a;STM32CubeMXFreeRTOS全自动工程生成指南 在嵌入式开发领域&#xff0c;时间就是竞争力。传统FreeRTOS移植需要手动复制文件、配置路径、修改中断向量表&#xff0c;稍有不慎就会陷入头文件缺失、链接错误的泥潭。现在&#xff0c;STM32CubeMX的图形化…...

LightOnOCR-2-1B部署指南:快速搭建你的私有OCR识别服务

LightOnOCR-2-1B部署指南&#xff1a;快速搭建你的私有OCR识别服务 1. 认识LightOnOCR-2-1B 你是否遇到过需要从大量图片中提取文字的场景&#xff1f;比如扫描的合同、拍照的会议记录&#xff0c;或者历史档案数字化&#xff1f;传统的OCR解决方案要么识别准确率不高&#x…...

AI的正规方程法与梯度下降法的比较研究

...

PMSM无感FOC实战:手把手调参你的滑模观测器SMO(从Simulink到MCU)

PMSM无感FOC实战&#xff1a;滑模观测器SMO从理论到调参全解析 引言&#xff1a;为什么SMO是无感FOC的核心观测器&#xff1f; 在永磁同步电机&#xff08;PMSM&#xff09;的无传感器矢量控制&#xff08;FOC&#xff09;系统中&#xff0c;滑模观测器&#xff08;Sliding Mod…...

雪女-斗罗大陆模型案例分享:多种提示词生成不同风格雪女图

雪女-斗罗大陆模型案例分享&#xff1a;多种提示词生成不同风格雪女图 最近在体验“雪女-斗罗大陆-造相Z-Turbo”这个AI绘画模型时&#xff0c;我发现了一个特别有意思的现象&#xff1a;同样一个模型&#xff0c;用不同的提示词描述&#xff0c;能画出风格迥异的雪女形象。有…...