无法加载类型“AjaxControlToolkit.Sanitizer.AntiXssSanitizerProvider". [英] Could not load type 'AjaxControlToolkit.Sanitizer.AntiXssSanitizerProvider'.

查看:29
本文介绍了无法加载类型“AjaxControlToolkit.Sanitizer.AntiXssSanitizerProvider".的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试使用 htmleditorextender,但出现错误.下面是我的设置

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %><asp:TextBox runat="server" ID="textBoxGalleryUrl" CssClass="cstmtxtclr"/><asp:HtmlEditorExtender ID="HtmlEditorExtender1" runat="server" TargetControlID="textBoxGalleryUrl"></asp:HtmlEditorExtender>

我的 web.conf 设置是;

 <部分名称=消毒剂"要求权限=假"type="AjaxControlToolkit.Sanitizer.ProviderSanitizerSection, AjaxControlToolkit"/></sectionGroup></configSections><system.web><!--<httpRuntime requestValidationMode="2.0"/>--><编译调试="true" targetFramework="4.0"/><sanitizer defaultProvider="AntiXssSanitizerProvider"><提供者><add name="AntiXssSanitizerProvider"type="AjaxControlToolkit.Sanitizer.AntiXssSanitizerProvider"></add></提供者></消毒剂></system.web>

我的 bin 文件夹中有以下 dll;

AntiXSSLibrary.dll消毒剂提供程序.dllHtmlSanitizationLibrary.dll

但我仍然收到此错误;

无法加载类型AjaxControlToolkit.Sanitizer.AntiXssSanitizerProvider".

为什么我会收到此错误?

解决方案

使用 AntiXss 作为默认 sanitizer 是 从 2012 年 6 月起不再支持.从官方公告来看,显然是 的新版本AntiXss 破坏了太多东西.

要将 AjaxControlToolkit 与 HTML Agility Pack 一起使用,您首先需要使用 Nuget 安装 pacakge(说明).

然后你可以通过像这样修改你的 web.config 来使用 HTML Agility Pack 作为你的消毒剂:

<预><代码><配置><configSections><section name="sanitizer" requirePermission="false"type="AjaxControlToolkit.Sanitizer.ProviderSanitizerSection, AjaxControlToolkit"/></sectionGroup></configSections><system.web><sanitizer defaultProvider="HtmlAgilityPackSanitizerProvider"><提供者><add name="HtmlAgilityPackSanitizerProvider" type="AjaxControlToolkit.Sanitizer.HtmlAgilityPackSanitizerProvider"></add></提供者></消毒剂></system.web></配置>

希望这会有所帮助.

I tried to use htmleditorextender but I am getting error. below are my settings

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>

<asp:TextBox runat="server" ID="textBoxGalleryUrl" CssClass="cstmtxtclr" />
<asp:HtmlEditorExtender ID="HtmlEditorExtender1" runat="server" TargetControlID="textBoxGalleryUrl"></asp:HtmlEditorExtender>

My web.conf settings are;

  <configSections>
    <sectionGroup name="system.web">
      <section name="sanitizer"
          requirePermission="false"
          type="AjaxControlToolkit.Sanitizer.ProviderSanitizerSection, AjaxControlToolkit"/>
    </sectionGroup>
  </configSections>

  <system.web>
    <!--<httpRuntime requestValidationMode="2.0"/>-->
    <compilation debug="true" targetFramework="4.0"/>

    <sanitizer defaultProvider="AntiXssSanitizerProvider">
      <providers>
        <add name="AntiXssSanitizerProvider"
              type="AjaxControlToolkit.Sanitizer.AntiXssSanitizerProvider"></add>
      </providers>
    </sanitizer>
  </system.web>

I have the following dlls in my bin folder;

AntiXSSLibrary.dll
SanitizerProviders.dll
HtmlSanitizationLibrary.dll

But I still get this error;

Could not load type 'AjaxControlToolkit.Sanitizer.AntiXssSanitizerProvider'.

Why I am getting this error?

解决方案

Using AntiXss as the default sanitizer is no longer supported as of June 2012. From the official announcement, apparantely the new version of AntiXss breaks too many things.

To use AjaxControlToolkit with HTML Agility Pack you first need to install the pacakge using Nuget (instruction).

Then you can use HTML Agility Pack as your sanitizer by modifying your web.config like this:

<configuration>
    <configSections>
        <sectionGroup name="system.web">
            <section name="sanitizer" requirePermission="false"
                     type="AjaxControlToolkit.Sanitizer.ProviderSanitizerSection, AjaxControlToolkit" />
        </sectionGroup>
    </configSections>

    <system.web>
        <sanitizer defaultProvider="HtmlAgilityPackSanitizerProvider">
            <providers>
                <add name="HtmlAgilityPackSanitizerProvider" type="AjaxControlToolkit.Sanitizer.HtmlAgilityPackSanitizerProvider"></add>
            </providers>
        </sanitizer>
      </system.web>
</configuration>

Hope this helps.

这篇关于无法加载类型“AjaxControlToolkit.Sanitizer.AntiXssSanitizerProvider".的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆