0

可能重复:
为什么找不到我的 BasicAuthenticationModule?

我正在尝试创建自己的基本身份验证实现。

我已经BasicAuthenticationModule.cs存储在 my 中solution\Modules,它的命名空间是:

namespace Web_API.Modules
{
    public class BasicAuthenticationModule : IHttpModule

我已将其添加到我的 web.config 中,如下所示:

  <system.webServer>
    <modules>
      <add name="MyBasicAuthenticationModule" type="Web_API.Modules.BasicAuthenticationModule, BasicAuthenticationModule" />

运行此程序时出现以下错误:

Server Error in '/' Application.

Could not load file or assembly 'BasicAuthenticationModule' or one of its dependencies. The system cannot find the file specified.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.IO.FileNotFoundException: Could not load file or assembly 'BasicAuthenticationModule' or one of its dependencies. The system cannot find the file specified.

我在这里做错了什么?

4

1 回答 1

3

您似乎为您的模块指定了错误的程序集名称。当你写:

type="Web_API.Modules.BasicAuthenticationModule, BasicAuthenticationModule"

这意味着BasicAuthenticationModuleWeb_API.Modules名为BasicAuthenticationModule. 您定义此类的项目是否称为BasicAuthenticationModule?我猜不是。这就是 ASP.NET 无法加载您的模块的原因。您应该指定定义此模块的正确程序集名称。

例如,如果您的 ASP.NET MVC 应用程序被调用MvcAPplication1,则定义可能如下所示:

type="Web_API.Modules.BasicAuthenticationModule, MvcApplication1"

type 属性的格式是这样的:

type="Namespace.ClassName, AssemblyName"
于 2013-02-02T22:54:26.470 回答