如何关闭“AmazonS3”对象中的自动代理检测?

2023-12-23

当使用AmazonS3应用程序启动后第一次调用对象时,有大约 14 秒的较大延迟。所有后续调用都不会出现这种大的时间延迟。

我之前在其他 HTTP 相关类中遇到过这个确切的延迟问题,这是当相关类尝试确定本地计算机的代理设置以及是否使用它们时引起的。

为了阻止这种情况发生WebClient,你设置WebClient.Proxy = null;它不会尝试自动检测代理设置,但我不知道如何禁用代理检测功能AmazonS3 object.

我专门尝试过设置ProxyHost to null:

_s3Client = AWSClientFactory.CreateAmazonS3Client(awsAccessKey, awsSecretAccessKey, new AmazonS3Config { ProxyHost = null });

这不起作用。我们目前使用 Amazon .NET SDK“v1.3.17.0”。

有没有办法关闭代理检测?


好问题 - 我自己没有尝试过,只分析了代码,但是AmazonS3Config 类 http://docs.amazonwebservices.com/sdkfornet/latest/apidocs/html/T_Amazon_S3_AmazonS3Config.htm使用私有方法configureWebRequest(),这又依赖于网络请求类 http://msdn.microsoft.com/en-us/library/system.net.webrequest.aspx处理实际的 HTTP 连接。现在,WebRequest has a WebRequest.DefaultWebProxy 属性 http://msdn.microsoft.com/en-us/library/system.net.webrequest.defaultwebproxy.aspx,即公共静态(即您可以在调用之前在应用程序中设置它CreateAmazonS3Client(()) :

DefaultWebProxy 属性获取或设置全局代理。这 DefaultWebProxy 属性决定默认代理全部 WebRequest 实例如果请求支持代理且不支持代理,则使用 使用 Proxy 属性显式设置。[强调我的]

您遇到的代理自动检测据说是由相应的 IE 行为引起的:

DefaultWebProxy 属性从 app.config 读取代理设置 文件。如果没有配置文件,则当前用户的 Internet Explorer (IE) 使用代理设置。

因此,我希望可以以与WebClient.Proxy 属性 http://msdn.microsoft.com/en-us/library/system.net.webclient.proxy.aspx你提到,尽管是在班级层面,正如最后一段确实强烈建议的那样:

如果 DefaultWebProxy 属性设置为 null,所有后续的 WebRequest 类的实例由创建或创建 创建默认方法没有代理. [强调我的]


添加者: blendre

这个答案的示例代码是

System.Net.WebRequest.DefaultWebProxy = null;
_s3Client = AWSClientFactory.CreateAmazonS3Client(awsAccessKey, awsSecretAccessKey);

Note这将禁用每个网络请求的代理,_client是使用它创建的,因此执行此操作是安全的,但如果您可能有更多请求待处理,请小心WebRequest class

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

如何关闭“AmazonS3”对象中的自动代理检测? 的相关文章

随机推荐

  • HBase 和 Hadoop/HDFS 的区别

    这是一个幼稚的问题 但我是 NoSQL 范式的新手 对此了解不多 因此 如果有人可以帮助我清楚地理解 HBase 和 Hadoop 之间的区别 或者给出一些可能帮助我理解区别的指示 到目前为止 我做了一些研究和记录 据我了解 Hadoop
  • Jooq 支持 Joda-Time 吗?

    我们正在寻找不同时区的日期时间支持 Hibernate 似乎支持 Joda 时间 不知道 JOOQ 是否也支持 jOOQ http www jooq org本身不支持 Joda Time 或任何其他第三方数据类型 但您可以轻松配置 jOOQ
  • 是否可以使用 INSERT 命令将数据插入到表的中间部分?

    例子 索引 一些数据 1 一些 数据1 3 一些数据3 4 一些 数据4 5 一些 数据5 我想做一个 INSERT 来添加 gt 2 一些 数据2 有没有 SQL 命令或某种方法可以做到这一点 edit 好的 也许如果我解释我想要完成的每
  • Eclipse 错误:未绑定类路径容器

    我制作项目后收到两条错误消息 在解决构建路径错误之前 无法构建项目 未绑定的类路径容器 项目 method test 中的 JRE 系统库 OSGi Minimum 1 2 我认为如果我弄清楚第二个错误 第一个错误就会消失 但是 我在 10
  • 如何使用附加信息(如参数)在java中创建自定义堆栈跟踪?

    我被分配了一项任务来创建自定义堆栈跟踪 例如某些指定函数的输出到日志文件 但我不仅需要使用类和方法名称 还必须输出参数及其值 这应该是一个单独的 jar 可以在任何 java 项目上运行 我什至不知道这样的事情是否可能 更不用说从哪里开始了
  • 对于不引用可执行文件的命令,相当于“which”的是什么?

    我试图找出特定命令是如何定义的 我已经检查了所有位置 PATH并且找不到任何像我的命令那样命名的文件 所以它似乎是其他东西 这是一个使用 nvm 的示例 它不是可执行文件 me MacBook which cat bin cat me Ma
  • 安装 Ruby 1.9.3 时出错

    我通过 rvm 安装 Ruby 1 9 3 时遇到错误 rvm install 1 9 3 p0 Installing Ruby from source to home alder rvm rubies ruby 1 9 3 p0 this
  • 使用 jQuery Quicksand 时 CSS 冒泡

    我正在使用 jQuery Quicksand 创建可过滤的文章组合 http davekiss com new http davekiss com new 问题是 当单击侧边栏段落中的过滤器 视频 网站 动态图形 时 正在过滤的文章上的 C
  • 如何在 C# 中处理双重解析中的文化?

    我有一个关于如何在解析双打时处理文化的问题 在系统中 来自不同服务器的价格信息汇集在一起 然而 作为输入给出的数据因文化而异 两百万五十美分如下 2 000 000 50 2 000 000 50 2000000 50 2000000 50
  • Android 4.0如何实现全屏

    Android 4 0 手机只有虚拟按钮 当全屏播放 YouTube 视频时 虚拟按钮实际上是不可见的 视频部分取代了按钮所在的位置 我想做这个 但还没有找到方法 android theme android style Theme NoTi
  • Boost 测试错误:main 已定义

    我有一个Visual Studio我想做一些单元测试的项目Boost Test 我有 2 个文件 File 1 define BOOST TEST MODULE FileX include
  • R Notebook 不显示数据帧的代码输出

    当我尝试查看数据帧结果时 Rnotebook 中的代码块输出没有出现 就好像没有运行一样 我必须通过 pander 函数传递它才能看到输出打印出来 这和针织有关系吗 我提到这一点是因为我在开头将选项设置为以下内容 r setup inclu
  • ReactJS:当子组件调用父组件时,“this.props”不是一个函数

    我已经编写了这段代码 目前正在解决 onClick 事件中的错误 我有两个事件 子元素上的 onClick 事件和顶级父元素上的 onChange 事件 预期的行为应该是更改 Container 组件中当前保存的 activeAccount
  • NServiceBus 到底是一个 ESB

    NServiceBus 到底是 ESB 还是轻量级 ESB 或者它更像是具有持久 可靠消息传递的 WCF 在我看来 它更像是一个消息传递框架 而不是 ESB 只是想要一些指导 因为我刚刚开始研究不同的 ESB 产品以及它们能够做什么或不能做
  • Mercurial 显示“起源”之前的提交数量

    我在这里用 git 术语思考 是否可以看到您在原点之前进行了多少本地提交 就像在 git 中一样 如果您输入git status它会告诉你 Your branch is ahead of blah by blah blah Mercuria
  • android.view.InflateException:二进制 XML 文件行 #1:膨胀类 时出错

    Added ActionBarCompat NavDrawer对于我的项目 在 4 3 设备上运行很顺利 在 2 3 设备上我得到以下异常 09 08 15 09 15 229 E AndroidRuntime 2964 FATAL EXC
  • 单击中间按钮关闭 TabItem

    我有个问题 在我的 WPF 应用程序中 如果我用鼠标中键按下 tabItem 则该 tabItem 应关闭 就像在火狐中一样 但我尝试使用 MVVM 来做到这一点 并且我需要使用命令 我的 tabItems 也是动态创建的 请帮助我 谢谢你
  • 在同一台计算机上开发和使用相同的Python

    我正在开发一个 Python 实用程序模块来帮助进行文件下载 存档等 我在虚拟环境中设置了一个项目以及单元测试 当我想在同一台计算机上使用此模块 本质上是 生产 时 我将文件移动到mymodule目录中的 开发 模块 mymodule 您可
  • webgl 立即模式如何?

    嘿 所以我正在尝试学习 3D 图形 我开始理解即时模式意味着在调用图形时直接绘制图形 例如 html canvas 和保留模式 在 刷新 或交换之前绘制到缓冲区并进行计算缓冲区 但是这几天我一直在学习webgl 我发现它完全缺乏这个线程的东
  • 如何关闭“AmazonS3”对象中的自动代理检测?

    当使用AmazonS3应用程序启动后第一次调用对象时 有大约 14 秒的较大延迟 所有后续调用都不会出现这种大的时间延迟 我之前在其他 HTTP 相关类中遇到过这个确切的延迟问题 这是当相关类尝试确定本地计算机的代理设置以及是否使用它们时引