System.Net.WebException: 远程服务器返回错误: (405) 不允许的方法
我在使用MS介绍其智能客户端时所涉及的两个通用的库 AppStart和AppUpdate进行客户端程序更新,当更新网站在windows2003,XP系统的IIS上均能成功使用,但是在windows server 2008 r2操作系统的IIS7.0 上却不能使用,报错:“System.Net.WebException: 远程服务器返回错误: (405) 不允许的方法”,经过调试,发现报错信息如下:
在 System.Net.WebException 中第一次偶然出现的“System.dll”类型的异常
Error accessing Url http://10.164.1.65/FZLD_Server/UpdateVersion.xml
在 System.Net.WebException 中第一次偶然出现的“AppUpdater.dll”类型的异常
System.Net.WebException: 远程服务器返回错误: (405) 不允许的方法。
在 System.Net.HttpWebRequest.GetResponse()
在 Microsoft.Samples.AppUpdater.WebFileLoader.UpdateFile(String url, String filePath) 位置 D:\Work\Project\FZLaborDispatch\AppUpdater\WebFileLoader.cs:行号 109
在 Microsoft.Samples.AppUpdater.ServerManifest.Load(String url) 位置 D:\Work\Project\FZLaborDispatch\AppUpdater\ServerManifest.cs:行号 50
在 Microsoft.Samples.AppUpdater.AppUpdater.CheckForUpdates() 位置 D:\Work\Project\FZLaborDispatch\AppUpdater\AppUpdater.cs:行号 277
在 Microsoft.Samples.AppUpdater.ServerPoller.RunThread() 位置 D:\Work\Project\FZLaborDispatch\AppUpdater\ServerPoller.cs:行号 125
跟踪到代码中,发现在UpdateFile()函数中报错,现将代码公布如下:
public static void UpdateFile(string url, string filePath)
{
HttpWebResponse Response;
//Retrieve the File
HttpWebRequest Request = (HttpWebRequest)HttpWebRequest.Create(url);
Request.Headers.Add("Translate: f");
Request.Credentials = CredentialCache.DefaultCredentials;
//Set up the last modfied time header
if (File.Exists(filePath))
Request.IfModifiedSince = LastModFromDisk(filePath);
try
{
Response = (HttpWebResponse)Request.GetResponse();
}
catch(WebException e)
{
if (e.Response == null)
{
Debug.WriteLine("Error accessing Url " + url);
throw;
}
HttpWebResponse errorResponse = (HttpWebResponse)e.Response;
//if the file has not been modified
if (errorResponse.StatusCode == HttpStatusCode.NotModified)
{
e.Response.Close();
return;
}
else
{
e.Response.Close();
Debug.WriteLine("Error accessing Url " + url);
throw;
}
}
Stream respStream = null;
try
{
respStream = Response.GetResponseStream();
CopyStreamToDisk(respStream,filePath);
DateTime d = System.Convert.ToDateTime(Response.GetResponseHeader("Last-Modified"));
File.SetLastWriteTime(filePath,d);
}
catch (Exception)
{
Debug.WriteLine("APPMANAGER: Error writing to: " + filePath);
throw;
}
finally
{
if (respStream != null)
respStream.Close();
if (Response != null)
Response.Close();
}
}
故障应该发生在Response = (HttpWebResponse)Request.GetResponse();行
请教大家有没有碰到类似的问题。使用的IIS7.0,开始怀疑是权限未配置,但是排查后发现不是权限问题。会是什么原因呢?请大家不吝赐教。
相关推荐
Python 批量处理大量压缩包|递归嵌套解压 zip rar 7z tar,文件名乱码修复,扫描残留压缩包工具
在收集大量计算机源码时,经常遇到海量多层嵌套压缩包:zip、rar、7z、tar、tar‑gz 混杂,老压缩包中文文件名 GBK 编码解压出现乱码,解压完成后不确定目录内是否还有遗留未解压的压缩包。 本工具集由 3 份 Python 脚本组成,专门针对大批量源码文件夹做自动化预处理,不用手动一个个解压,自动递归遍历所有子目录,处理嵌套压缩包,修复中文文件名乱码,扫描校验残留压缩包,输出完整处理日志。 前置条件 - Python3.8 及以上环境 - 如果要处理 rar/7z 格式:电脑安装 **7‑Zip**,记录 7z.exe 的完整路径,填到 `jieyarar.py` 配置区。 1. 修改每个脚本顶部配置区:`SCAN_ROOT / TARGET_FOLDER` 修改为你存放文件的根目录绝对路径(Windows 路径字符串前面加 r,例如 `r"F:\files\download"`) 2. 第一步:运行 `main.py`,优先处理全部 zip 压缩包,执行完成查看生成的 `unzip_log.txt` 日志; 3. 第二步:运行 `jieyarar.py`,处理 rar、7z、tar 等其它格式压缩包,查看 `unpack_all_archive_log.txt`; 4. 第三步:运行 `checkfiel.py`,全盘扫描校验,输出 `scan_archive_and_badname.txt`; - 查看报告:确认是否还有残留压缩包、是否存在乱码文件名; 5. 根据日志,手动单独处理加密、损坏的压缩包。
工具调用智能体可靠性基准数据集验证门重试
面向工具调用型AI智能体可靠性研究的合成基准数据集,研究预执行验证门与有限重试机制如何改变智能体任务完成率、无效动作率与调用成本。包含120张合成工单、1440个模拟回合(4种策略×3种工具故障率)与本地大语言模型试点实验(qwen2.5:3b)。实验结果显示:10%工具故障率下基线策略完成率仅30.0%,验证门加重试组合达97.5%;大模型试点中无防护时8张工单完成5张,加防护后8张全部完成。附结果明细、策略汇总、实验元数据与README共8个文件。适用于智能体工程、工具调用可靠性评估、防护机制设计与大模型应用研究。数据许可:CC0公共领域。
国央企在推动内部技术转化时,如何实现技术需求的精准挖掘与匹配?.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。
科技中介服务机构在对接企业与高校科研成果时,如何快速挖掘企业的隐性技术需求?.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。
AI聚合api网关系统源码+部署教程
AI聚合api网关系统源码+部署教程



