2017-09-26 140 views
0

我是很新的VS Web應用程序和模塊,未能加載類型模塊C#

我試圖運行/調試一個HTTP模塊,所以我遵循了這一實用的教學課程:

https://dotnetcodr.com/2015/07/10/how-to-register-a-custom-http-module-in-your-net-web-application/

我在示例WebApplication中調試了他的測試模塊。

現在我聯繫我的模塊,WebApplication的樣本里面,我編輯的的Web.config替換這樣的:我的模塊

<add name="DescriptiveNameOfModule" type="MyHttpModule11.MyHttpModule"/> 

​​

但是當我運行它,我得到包含以下錯誤的頁面:

[HttpException (0x80004005): Could not load type 'MyHttpModule11.MyHttpModule'.] 
    System.Web.Compilation.BuildManager.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +9972697 
    System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase) +38 

[ConfigurationErrorsException: Could not load type 'MyHttpModule11.MyHttpModule'.] 
    System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase) +353 
    System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, Boolean checkAptcaBit) +21 
    System.Web.Configuration.Common.ModulesEntry.SecureGetType(String typeName, String propertyName, ConfigurationElement configElement) +39 
    System.Web.Configuration.Common.ModulesEntry..ctor(String name, String typeName, String propertyName, ConfigurationElement configElement) +42 
    System.Web.HttpApplication.BuildIntegratedModuleCollection(List`1 moduleList) +160 
    System.Web.HttpApplication.GetModuleCollection(IntPtr appContext) +1068 
    System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +82 
    System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +173 
    System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +336 
    System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +296 

[HttpException (0x80004005): Could not load type 'MyHttpModule11.MyHttpModule'.] 
    System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +10085804 
    System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +95 
    System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +254 

可能是什麼原因? 可能是由IIS的不同版本引起的?

+0

您的模塊名稱是否非常敏感以至於您已經用上面的'[package]。[classname]'取代了它?如果它是'MyHttpModule11.IHttpModule',那麼問題可能與嘗試加載一個接口而不是具體類相關? – CalC

+0

謝謝@ Cal279,名字不太敏感,我會編輯我的文章 – eeadev

回答

2

您可能需要包含此類型所在的程序集的名稱。例如。

<modules> 
    <add name="DescriptiveNameOfModule" type="MyHttpModule11.MyHttpModule, AssemblyNameWithoutExtension"/> 
</modules> 
+0

我的情況是什麼彙編?類名稱,模塊名稱? – eeadev

+1

它最有可能與dll的名稱相同(最後沒有「.dll」)。 – CalC

+0

它的工作原理,謝謝! – eeadev

相關問題