如何将程序集添加到System.Web程序集?我如何推导出语法?

时间:2011-04-15 16:29:39

标签: web-config .net-assembly system.web asp.net-mvc-3

我正在尝试添加自定义HTTP验证程序,如here所示。我希望许多站点将此实现作为外部库共享。这样,当我发现更新/更好的方法来处理验证时,我可以更新链接的程序集并更新所有相关项目。

当我上课并将其放入我的网络项目时,我所要做的就是添加这一行并且一切正常:

<system.web>
   <httpRuntime requestValidationType="SampleRequestValidator"/>

然而......当我尝试引用外部程序集时,IIS抱怨说它无法加载该类型。

问题
有人可以告诉我是否需要将自定义类型添加到web.config的这一部分:

Line 28:        <compilation debug="false">
Line 29:                <assemblies>
Line 30:                        <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Line 31:                        <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>

问题2

有人能告诉我输入类型字符串的正确方法吗?到目前为止我正在使用这个

Console.Writeline(typeof(SampleRequestValidator).AssemblyQualifiedName)

1 个答案:

答案 0 :(得分:1)

对于问题一,

“是”。在我的ASP.NET MVC应用程序中,我还必须将我的命名空间添加到web.config:

<pages>
  <namespaces>
    <add namespace="System.Web.Mvc" />
    <add namespace="System.Web.Mvc.Ajax" />
    <add namespace="System.Web.Mvc.Html" />
    <add namespace="System.Web.Routing" />
    <add namespace="My.Custom.Namespace"/>
  </namespaces>
</pages>

您正在为问题2做什么工作......您还可以通过右键单击项目并转到属性然后查看“应用程序”选项卡,在Visual Studio中查看程序集名称。