通过 HTTP POST 向 IHttpHandler 发送 XML 数据会导致 HttpRequestValidationException

2023-11-29

我正在编写一个 IHttpHandler 实现,它将接收通过常规 HTTP POST 从另一个网站发送的 XML 数据。 这是实现的原型:

public class MyHandler : IHttpHandler
{
   public void ProcessRequest(HttpContext context)
   {
      string s = context.Request.Form["input"]; // <== this throws HttpRequestValidationException
      XmlDocument doc = new XmlDocument();
      doc.LoadXml(s);
      // ...
   }

   public bool IsReusable
   {
      get { return false; }
   }
}

我正在使用这个简单的页面测试实现:

<body>
   <form method="post" action="MPSConnector.Results.dsvc">
      <textarea name="input"></textarea>
      <input type="submit" value="Go!" />
   </form>
</body>

问题是,当我尝试从发布的数据中读取“输入”值时,如果它包含 xml 字符串,我得到的只是 HttpRequestValidationException。 我尝试使用

<pages validateRequest="false">

在 web.config 中,并将 validate="false" 属性放入 httpHandles 部分的处理程序声明中,但没有结果。

如何在我的处理程序中读取发布的 xml? (请注意,我必须使用 IHttpHandler 来完成此任务)。

编辑:框架版本:4.0,IIS 7.x

谢谢你们! :)


据我所知,您只需要使用实体对 XML 进行编码即可。

我的意思是 >,等等。

编辑:我发现这是重复的:如何为 HttpHandler 禁用请求验证?

尝试这个!! :)

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

通过 HTTP POST 向 IHttpHandler 发送 XML 数据会导致 HttpRequestValidationException 的相关文章

  • 为什么我无法调试动态加载的程序集?

    我正在开发一个 Web API 项目 该项目使用内部模拟框架 允许拦截和修改来自控制器的响应 它使用 MEF 加载包含某些先决条件匹配时执行的代码的程序集 我知道这是正常工作的 因为我可以在响应中看到模拟已被执行 但由于某种原因我无法调试动
  • 你调用的对象是空的。 IE问题

    我在 ASP Net 中开发了一个网站 它在除 IE 之外的所有浏览器中都能正常工作 在 IE 中我收到错误 对象引用未设置为对象的实例 在我的本地计算机中一切正常 发布到服务器后出现错误 有什么想法如何解决这个问题吗 这是我得到的堆栈跟踪
  • 使用非字符串作为字符串(而不是自动使用 ToString)时如何显示错误?

    建议的重复确实是一个类似的问题 然而 答案只涵盖一种选择 禁用 ToString 本身 还有其他可能的解决方案 例如让 Visual Studio 警告我 或者不调用 ToString 仔细阅读那里的答案 他认为is调用 只是解释说没有办法
  • 如何使用完全空的类型使 Activator.CreateInstance 运行速度减慢约 20 倍

    Given NET 程序集命名expression host NET 程序集命名CreateInstanceTest CreateInstanceTest 在其配置文件中启用 NetFx40 LegacySecurityPolicy exp
  • 替换全局热键

    我有一个位于托盘中的应用程序 我想定义多个热键来触发我的程序中的事件 我从 AaronLS 在这个问题中的出色回答中找到了灵感 使用C 设置全局热键 https stackoverflow com a 27309185 3064934 如果
  • 如何在 .NET 应用程序中使用 W3C 标记验证器 API?

    我发现有一个W3C 标记验证器的 API http validator w3 org docs api html 我之前曾问过 是否有适用于 W3C 标记验证器 API 的 NET 库 https stackoverflow com que
  • 从不同的线程关闭启动屏幕?

    我在用着WindowsForms应用程序库 http msdn microsoft com en us library microsoft visualbasic applicationservices windowsformsapplic
  • Windows.Forms.ListBox 中的项目右对齐

    是否有正确的方法将 net Windows Forms 中的列表框的项目向右对齐 您可以使用 example box ListBox example box RightToLeft RightToLeft Yes 这不仅可以实现右对齐 而且
  • 如何在asp.net中单击按钮在新选项卡中打开页面?

    我想在单击按钮时在浏览器的新选项卡中打开一个页面 我在谷歌上搜索了很多 但我找不到任何东西 这是我的按钮
  • CodeDomProvider.CompileAssemblyFromSource - 找不到 Roslyn (csc.exe)

    我们最近从旧的 CodeDomProvider 升级到名为 Microsoft CodeDom Providers DotNetCompilerPlatform 的新 Roslyn CodeDomProvider 它工作正常 但它在错误的位
  • 计算某个数的某次幂的模(该次幂的数字相当大)

    我想自己计算RSA算法 我需要计算某个数的某个幂的模数 问题是 在一定的功率下 这个数字可能会变得相当大 这就是我想要的 x pow n p q 如何有效地确定 x 如果您使用 NET 4 我建议您查看BigInteger http msd
  • 简单注入器:跨同一图的服务注入相同的 UnitOfWork 实例

    我有多个服务 每个服务都有一个UnitOfWork使用注入到构造函数中简易注射器 http simpleinjector codeplex com国际奥委会容器 目前我可以看到每个UnitOfWork实例是一个单独的对象 这很糟糕 因为我使
  • 是否可以获取.NET调用堆栈中每个帧的参数值

    我说的是托管 NET 代码 如果我们运行任何程序并将 VS 附加到它 我们可以看到调用堆栈中每个方法的参数值 我想创建一个日志记录解决方案 它将记录调用堆栈中每个方法的所有参数值 实际上我需要这些信息以防发生异常 我知道通过分析 API 可
  • asp.net 站点地图管理员查看用户看到的内容

    我目前正在尝试找出如何最好地为我的应用程序实施管理方面 我有一个用户网站 用户可以登录 自定义他们的个人资料 提交信息等 我希望管理用户能够登录并能够从用户列表中进行选择 从那里 管理员可以像用户一样为用户提交信息 Website Star
  • 集成到 Windows 资源管理器上下文菜单中

    我想写一个小工具 它可以执行以下操作 当您右键单击具有特定文件扩展名的文件时 Windows 资源管理器上下文菜单会显示一个附加条目 当您单击此条目时 将启动某个 EXE 并以此文件作为其参数之一 我想为此使用 C NET 2 0 如果不可
  • 最好的 NHibernate 二级缓存提供程序是什么?

    我见过有很多这样的 NCache Velocity 等等 但我还没有找到比较它们的表格 考虑以下标准什么是最好的 容易明白 最近正在维护中 是免费的或者有足够好的免费版本 Works 我无法说出什么是最好的或最差的 但我会分享我使用 NCa
  • 在页面之间导航时停止主页刷新?

    我在 ASP net 应用程序中使用母版页 在母版页中 我在更新面板中放置了 ContentPlaceHolder 以支持子页面中的 AJAX 问题是如何在页面之间导航时停止刷新 母版页控件 对于我尝试使用的页面之间的导航响应 重定向 窗口
  • 在 .NET Core 3.1 中运行托管 C++/CLI 程序集时图像格式错误

    我非常兴奋地看到 NET Core 3 1 和 Visual Studio 2019 的最新预览版添加对托管 C CLI 项目的支持 https github com dotnet coreclr issues 18013 因为这样的项目是
  • 如何在运行 ASP.NET 页面时以编程方式设置表格背景?

    我有一个 aspx 页面 其默认背景颜色是一种 当选择单选按钮的某个选项时 我需要能够以编程方式更改它 我尝试设置表的 ID 字段 但似乎无法在 C 代码隐藏文件中访问它 我原来的表是 table style width 100 backg
  • 如何正确编码 mailto 链接?

    我正在生成一些 HTML 并且我想生成 XSS 和数据库内容安全的mailto关联 这里使用的正确编码是什么 这个怎么样 myLiteral Text string Format mailto 0 Content Type text htm

随机推荐

  • 使用 mod_rewrite 重定向和重写

    问完这个问题后 用于搜索查询的干净 URL 我尝试使用 mod rewrite 进行一些操作 RewriteCond QUERY STRING s a z NC RewriteRule s 1 NC R 301 L RewriteRule
  • 使用滑块更新散景图

    我正在尝试使用滑块来更新我的散景图 我发现使用 pandas dataframe 很难实现它 到目前为止没有找到任何例子 另一种方法是使用 columndatasource 在论坛上找到了一些示例 但仍然无法实现该功能 所以我有两列 X 轴
  • 如何正确等待 execve 完成?

    C 源代码 在 Linux Centos 6 3 上编译并运行 包含以下行 execve cmd argv envp execve不返回 但我想修改代码以知道它何时完成 所以我这样做 if child fork waitpid child
  • 使用 pybind11 嵌入 python。虚拟环境不起作用

    我正在尝试制作一个简单的 C 应用程序 它使用以下命令翻译短语googletranspython 库 所以我选择了pybind11为此目的嵌入Python 我还使用 cmake 进行代码配置 当我使用全局 python 安装时 一切正常 但
  • 使用 eigen3/sparse 的稀疏特征值

    是否有一种独特且有效的方法来查找实数 对称 非常大 比如说 10000x10000 的稀疏矩阵的特征值和特征向量Eigen3 有一个用于稠密矩阵的特征值求解器 但它没有利用矩阵的属性 例如这是对称性 此外 我不想将矩阵存储为密集的 或者 替
  • 用 C++ 制作简单的跨平台 GUI 的最佳方法是什么? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我想制作一个带有非常简单的 GUI 背景图形 取消按钮和进度条 的桌面应用程序 我的主要目标是 Mac 和 Windows 使用 Visual C 2008 可以吗 任何人都可以
  • 使用 CasperJS 实现页面对象模式

    有没有人已经用 casperjs 实现了著名的 页面对象模式 从长远来看 它对于测试可维护性非常有用 当您必须将测试的机制和目的分开时 使用它非常非常酷 以这种方式编写测试会变得更加愉快 有一些 ruby 和 selenium 的例子 ht
  • 列表理解/生成器中的海象赋值表达式

    我试图传递每个元素foo list变成一个函数expensive call 并获取其输出为的所有项目的列表expensive call是诚实的 我正在尝试用列表理解来做到这一点 这可能吗 就像是 像这样的事情 result list y e
  • 无法在套接字上使用 BufferedReader/Writer 发送和接收数据

    我正在制作一个客户端 服务器应用程序 并使用以下代码在服务器和客户端之间交换数据 服务器的发送和接收代码 public void run try BufferedReader input new BufferedReader new Inp
  • 具有特定值的行名和列名

    我有这个矩阵 我想得到一个 2 列矩阵 其中一列有行名 另一列有值为 1 的单元格的列名 x X1 X2 X3 X1 1 0 1 X2 0 1 0 X3 0 1 1 X4 1 0 0 str x num 1 886 1 886 1 0 1
  • 从“package::function”形式的字符串中获取函数

    有过讨论关于如何从字符串中获取变量 的确 get例如 适用于data table功能 get data table 回报data table 然而 gt get data table data table Error in get data
  • 带有 mongodb 的 yii2 无法登录或注册

    我们按照此 youtube 链接创建 yii2 mongodb 连接 但不起作用 检查此链接 https www youtube com watch v 1msu95ZkRe8 给出一个错误对象配置必须是包含 class 元素的数组 在视频
  • 将 varchar() 中的重音字符转换为 XML 导致“非法 XML 字符”

    我有一个应用程序写入的表 该字段为 varchar max 数据看起来像 xml DECLARE poit VARCHAR 100 SET poit
  • 如何在 Gtk 2 窗口上创建 cairo_t

    我有一个旧的应用程序 现在在 Gtk 2 上编译 但我需要介绍一下 Cairo 的使用 我不知道如何从我的小部件创建必要的 cairo 上下文 cairo t 这是我到目前为止正在尝试学习的代码 是从 Gtk 3 教程中修改的 咳咳 抄袭
  • 滚动到视图与移动到元素

    在 Selenium WebDriver 中 有两种主要方法将一个元素放入可见区域 滚动到视图中 JavascriptExecutor driver executeScript arguments 0 scrollIntoView true
  • Java中前后缀“++”运算符的语义[重复]

    这个问题在这里已经有答案了 我想知道为什么这段代码给出输出112最后一个数字如何2正在创造 public static void main String args int i 0 System out print i System out
  • 使用 HTTP 端点下载 Mule 文件

    我负责在流程结束时下载文件的 HTTP 端点出现错误 它不断尝试与http 80 而不是传入的 URL 我在这里做错了什么
  • PHP 会话变量在页面之间发生变化

    我有一个会话变量 设置如下 然后在另一个页面上我有这个 问题是它们不匹配 我得到两个完全不同的字符串 register globals已关闭 我确实注意到当我设置时md5 为常量字符串 例如 md5 example 它按预期工作并且两个字符
  • 多路交互:获得数值系数估计的简单方法?

    假设存在 4 路交互 采用 2x2x2 阶乘设计加上连续变量 因素具有默认的对比编码 contr treatment 这是一个例子 set seed 1 cat1 lt as factor sample letters 1 2 1000 r
  • 通过 HTTP POST 向 IHttpHandler 发送 XML 数据会导致 HttpRequestValidationException

    我正在编写一个 IHttpHandler 实现 它将接收通过常规 HTTP POST 从另一个网站发送的 XML 数据 这是实现的原型 public class MyHandler IHttpHandler public void Proc