我的同事为我创建了一个自定义SessionStateProvider
,用于我的ASP.net应用程序。我将文件CustomSessionStateProvider
添加到我的VS2008 Web应用程序项目中,并将相应的引用放在web.config中,它可以正常工作。
但是,我的主管要我将其设置为GAC参考。在我的办公室,我们创建了许多DLL,我们将其用作不同项目的GAC参考。
如果我将CustomSessionStateProvider
添加到全局程序集缓存中,我的页面会抛出could not load type CustomASP.CustomSessionStateProvider
错误。简单地从GAC中删除DLL使其再次起作用,但我想将其设置为GAC参考。
可能导致此问题的原因是什么?
答案 0 :(得分:2)
您需要更改web.config以包含班级的fully qualified name。它看起来像这样:
CustomASP.CustomSessionStateProvider, CustomASP, Culture=neutral, PublicKeyToken=XXXXX
这假定程序集名为“CustomASP”,并且该类位于名为“CustomASP”的名称空间中,并且类名称为“CustomSessionStateProvider”。此外,您可能已经知道,您的程序集需要签名才能加入GAC。因此,您应该将XXXX更改为用于签名的密钥的公钥标记。
希望它有所帮助。