处置 RestRequest RestSharp 对象?

2024-02-15

我正在使用 RestSharp 并创建 RestRequest 对象以将 FileData 发送到 API。但是在得到响应后,我想从本地计算机中删除该文件,但是当我尝试执行相同操作时,它给了我错误“文件正在被其他进程使用“。我认为的原因是我无法处理RestRequest的对象。请帮我解决它。下面是代码。提前感谢..!!!

   public string PostMultiformDataAPI(Method method, string apiUrl, string data = "", Dictionary<string, string> headers = null)
        {
            string[] files = null;
            try
            {
                RestClient client = new RestClient(apiUrl);
                var request = new RestRequest();
                request.Method = method;

                //Add header values to request
                if (headers != null)
                {
                    foreach (var header in headers)
                    {
                        request.AddHeader(header.Key, header.Value);
                    }
                }

                string filename = string.Empty;

                if (Directory.Exists(HttpContext.Current.Server.MapPath("/Upload")))
                {
                    files = Directory.GetFiles(HttpContext.Current.Server.MapPath("/Upload"));

                    foreach (string file in files)
                    {
                        request.AddFile(file.Split('/').Last(), file);
                    }
                }

                // execute the request
                IRestResponse response = client.Execute(request);
                var content = response.Content; // raw content as string

                foreach (string file in files)
                {
                    GC.Collect();
                    GC.WaitForPendingFinalizers();
                    var fileInfo = new FileInfo(file);
                    fileInfo.Refresh();
                    fileInfo.Delete();

                    //File.Delete(file);
                }

                return content;

            }
            finally
            {

            }
        }

您只需将 null 分配给请求对象实例即可删除它必须归档的引用。为我工作。请告诉我它是否适合您。

            // execute the request
            IRestResponse response = client.Execute(request);
            var content = response.Content; // raw content as string

            request = null;
            response = null;

            foreach (string file in files)
            {
                GC.Collect();
                GC.WaitForPendingFinalizers();
                var fileInfo = new FileInfo(file);
                fileInfo.Refresh();
                fileInfo.Delete();
                File.Delete(file);
            }

            return content;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

处置 RestRequest RestSharp 对象? 的相关文章

  • TCP客户端;网络流;异步读取; C#

    请原谅我对任务和异步缺乏了解 使用 TcpClient 类 我正在创建与可用服务器的连接 void async RunClientAsync TcpClient client new TcpClient try await client C
  • 委托和接口如何互换使用?

    我可以使用接口方法代替委托吗 如何 我发现搜索接口方法比使用委托更快 我希望有一个简单的代码片段 理论上 可以通过包含单个方法的接口 例如 Java 没有委托 来完成委托完成的所有工作 然而 它使代码变得更加冗长并且没有带来什么好处 话又说
  • 如何在 C# 中启动文件

    编辑 我觉得自己像个白痴 我有一种感觉 像下面的答案会起作用 但没有看到任何与下面的答案类似的谷歌结果 所以当我看到这段复杂的代码时 我想它一定是这样的 我搜索并找到了这个Windows 列出并启动与扩展关联的应用程序 https stac
  • 公共领域有哪些替代方案?

    我正在用 java 编写一个游戏 正如问题标题建议的那样 我在类中使用公共字段 暂且 据我所知 公共领域很糟糕 我有一些理解其中的原因 但如果有人能澄清为什么你不应该使用它们 那将不胜感激 问题是 从我所看到的来看 这似乎是合乎逻辑的 是使
  • const_iterators 更快吗?

    我们的编码指南更喜欢const iterator 因为它们比正常的要快一点iterator 当您使用时 编译器似乎会优化代码const iterator 这真的正确吗 如果是的话 内部到底发生了什么使得const iterator快点 编辑
  • 具有多重继承的不明确基数

    我正在尝试在一个大库中编写一些类的子类 我收到 基础不明确 错误 这是该问题的一个可编译示例 include
  • 将数字 n 拆分为 k 个不同数字的总和

    我有一个数字 n 我必须将它分成 k 个数字 使得所有 k 个数字都是不同的 k 个数字的总和等于 n 并且 k 最大 例如 如果 n 为 9 则答案应为 1 2 6 如果 n 为 15 则答案应为 1 2 3 4 5 这就是我尝试过的 v
  • 访问结构向量

    我有一个结构 struct OutputStore int myINT string mySTRING 如果我创建一个 OutputStore 类型的数组 如下所示 OutputStore OutputFileData new Output
  • 使用 unrar 库 - 将文件提取到文件流缓冲区中

    我需要的是能够将 rar 文件中的文件提取到流中 我正在创建一个测试用例来了解如何使用解压源文件 http www rarlab com rar unrarsrc 3 9 9 tar gz 我已经搜索和修补了一段时间 但我不知道如何使用该库
  • 如何修改 edmx 的默认代码生成策略?

    我想修改默认的代码生成策略 该怎么做 我只是想修改类名 lt code Escape container gt to Entities并将默认连接字符串更改为name Default 我不想为该项目创建模板文件 我想编辑它以便它可以在全球范
  • 如何在 C# 中停止程序进一步执行

    string FirstName Console ReadLine if FirstName Length gt 12 Console WriteLine if FirstName Length lt 3 Console WriteLine
  • 将纬度/经度转换为 X/Y,以便在美国地图图像上进行阿尔伯斯投影

    我正在尝试使用 C 或 Javascript 将纬度 经度转换为 X Y 坐标 以将带有 CSS 的 div 左 上 定位到美国地图的背景图像上 美国的标准地图投影是阿尔伯斯投影 如下所示 但 StackOverflow 仅提供参考基本墨卡
  • 我们可以使用 C# 录制发送到扬声器的声音吗

    我有一个软件 SoundTap Streaming Audio Recorder 它记录发送到扬声器的任何音频 无论流是来自网络还是来自某些文件或麦克风 我可以在桌面应用程序中制作这样的应用程序 以便我可以录制发送到扬声器的流 无论来源如何
  • 使用 System.Json 迭代 JSON

    我正在探索 NET 4 5 的功能System Json库 但没有太多文档 而且由于流行的 JSON NET 库 搜索起来相当棘手 我基本上想知道 我如何循环一些 JSON 例如 People Simon Age 25 Steve Age
  • 在 C++17 中编译具有非固定基础类型的 constexpr 从 int 静态转换为作用域枚举的未定义行为

    我想知道以下内容是否应该在 C 17 中编译 enum class E A B constexpr E x static cast
  • 定义一个断言,即使定义了 NDEBUG,该断言也有效

    我想定义一个assert与标准相同的宏assert 3 http man7 org linux man pages man3 assert 3 html调用 但它不会被预处理器删除NDEBUG被定义为 这样的呼唤 让我们称之为assert2
  • 具有两个表的谓词构建器

    A Party可以有一个或多个Contact对象 我想选择全部Parties谁的街道名称包含特定关键字 如果我只想搜索Party我可以使用下面的代码 但我如何扩展它来搜索Contact public IQueryable
  • 恐怖分子已弃用

    正在接听另一个问题 https stackoverflow com q 11830514 1468366 我偶然发现了man page http linux die net man 3 herror一个名为的函数herror 看起来很像pe
  • 返回右值 - 这段代码有什么问题? [复制]

    这个问题在这里已经有答案了 我遇到了以下代码片段 std string test std string m Hello return std move m int main std string m test 我知道上面的代码是不正确且不安
  • 当前线程中的单例

    我的单身人士如下 public class CurrentSingleton private static CurrentSingleton uniqueInstance null private static object syncRoo

随机推荐

  • 安装错误:ftheader.h:没有这样的文件或目录

    当我尝试构建 matplotlib 1 3 1 时 出现以下 freetype 标头错误 可能是找不到 ftheader h 关于如何解决这个问题有什么想法吗 注意 我刚刚按照中提到的说明安装了 Freetype 2 5 0 1自由类型安装
  • 崩溃 CGDataProviderCreateWithCopyOfData:vm_copy 失败:状态 1

    我遇到崩溃并出现以下错误 CGDataProviderCreateWithCopyOfData vm copy 失败 状态 1 我有多个问题 您可以提供帮助 vm copy failed 中状态 1 代表什么 仅当我在数据复制的内部 for
  • 从 PHP 子类访问受保护的方法

    我可以使用至少两种基本方法来访问受保护的子类的类方法 parent myMethod this gt myMethod 如果我不需要在子类中重写它 在这种情况下我必须这样做 function myMethod parent myMethod
  • jQuery 中的remove() 和detach() 之间的区别[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • ImageView 不保持最大高度和宽度

    我将图像加载到ImageView using setImageURI selectedImageUri 从用户的照片库中检索 我有图像视图限制大小 android maxHeight 150dp android minHeight 150d
  • 卸载 NuGet 包时出现问题

    我正在尝试卸载 NuGet 安装的一些软件包 根据文档描述here http docs nuget org docs start here managing nuget packages using the dialog 我应该看到一个卸载
  • Tesseract OCR Android tessdata 目录未找到

    我目前正在使用 OCR 开发 Android 应用程序 并且已经达到了调用 BaseAPI init 方法的程度 我不断收到错误消息 指出该目录必须包含 tessdata 作为子文件夹 我已检查文件目录是否包含其中包含训练数据文件的文件夹
  • Node.js 上的文本到音频文件

    我正在寻找一种优化的合法方法来从 NodeJS 上的文本创建音频文件 现在我看到了 5 个变体 1 向谷歌翻译文本到语音 API 的简单 hhtp 请求 这种变体不好 因为每个请求都需要生成令牌 例如 传统知识 729008 879154
  • Crystal 从文件中读取 x 字节

    我有这个代码 a File open dev urandom b a read 1024 a close puts b 我原本希望从 dev urandom device file 获取前 1024 个字节 但我得到了一个错误 指出 rea
  • 如何在 Angular2 Typescript 项目中全局导入 Javascript 库?

    我试图弄清楚如何在我的 Angular2 项目中正确导入外部库 正如您在阅读有关此问题的其他答案时所看到的 对此存在一些困惑 甚至 Angular2 文档也没有相关信息 此外 Google 上的任何搜索都会导致与 Angular2 的 al
  • Silverlight 和 COM 互操作

    从 silverlight 与 COM 控件交互有哪些选项 在我的特定项目中 我有一个旧版 ActiveX 身份验证控件 我想在我的 silverlight 应用程序中利用它 没有太多无聊的细节 该控件采用几个参数 提示用户输入凭据或令牌
  • 如何在 Android 布局上正确分配 4 个按钮

    我试图将 4 个图像按钮分布到 Android 布局的 4 个可能的屏幕角落 无论分辨率如何 我希望图像背景是静态的 即 50x50 倾斜 并且我还希望在背景中全屏显示 android gesture GestureOverlayView
  • 如何在 ggplot2::geom_step() 中将线居中,类似于 highcharter

    对于我的情节 我想要ggplot2 geom step 线对齐以我的点为中心 而不是向左对齐 In highcharter hc add series type line 有一个选项叫做step center 看我的jsfiddle htt
  • 如何使用Python在Windows中设置代理?

    如何获取当前 Windows 浏览器代理设置并将其设置为一个值 我知道我可以通过查看注册表来做到这一点Software Microsoft Windows CurrentVersion Internet Settings ProxyServ
  • 如何在动态情况下寻找最短路径

    几天前 有人问我 如果我们的环境中有一些代理 他们想要从源头到达目的地 我们如何才能找到所有代理的总最短路径 以便他们在执行过程中不会发生冲突走 问题的关键是所有智能体同时在环境中行走 可以通过无向加权图建模 并且我们不应该发生任何碰撞 我
  • 在 NSPredicate 中使用 NSDate

    是否有特定的方法来配置 NSPredicate 来比较日期 本质上我有一个 Photo 对象 它有一个 NSDate lastViewed 我想配置一个 NSPredicate 它将返回最近在指定时间段 通常是两天 之前查看过的所有照片对象
  • 当我尝试安装 @nuxtjs/firebase 时出现 NPM 错误

    我收到这个错误 我不理解 而且我真的不知道如何修复 我正在使用 Nuxt js 我想同时使用 firebase 但是当我尝试 firebase nuxtjs 时 org 并安装 nuxtjs firebase 我收到此错误 npm ERR
  • 如何修复“UIPopoverController 已弃用”警告?

    我正在使用这段代码 mediaLibraryPopover UIPopoverController alloc initWithContentViewController avc self mediaLibraryPopover prese
  • Highcharts 在某些缩放级别不显示数据

    我正在使用 Highcharts Highstock 绘制相当大量的数据 10 000 点 数据由 X 轴上的 Date 对象组成 Y 轴上浮动 格式如下 date 1 728 date 0 346 日期始终相隔 1 小时 并且数据中没有间
  • 处置 RestRequest RestSharp 对象?

    我正在使用 RestSharp 并创建 RestRequest 对象以将 FileData 发送到 API 但是在得到响应后 我想从本地计算机中删除该文件 但是当我尝试执行相同操作时 它给了我错误 文件正在被其他进程使用 我认为的原因是我无