我正在尝试实现一个非常相似的this example自定义SessionIDManager。
我将它放在web.config中,类似于他们在示例中显示的内容:
<system.web>
<httpModules>
<add name="SessionID"
type="ProjectName.WebUI.Models.CustomSessionIDManager" />
</httpModules>
// --snip--
</system.web>
但是,在尝试加载网站时,我收到配置错误:
ProjectName.WebUI.Models.CustomSessionIDManager未实现IHttpModule。
如果我删除web.config的那一部分,网站会加载,但自定义SessionIDManager的重写部分无法运行。
如何正确告诉web.config使用我的自定义SessionIDManager?
答案 0 :(得分:7)
事实上,我认为文档中存在错误。您无需将其添加到<httpModules>
部分,而是illustrated here添加到<sessionState>
部分:
<sessionState
Mode="InProc"
stateConnectionString="tcp=127.0.0.1:42424"
stateNetworkTimeout="10"
sqlConnectionString="data source=127.0.0.1;Integrated Security=SSPI"
sqlCommandTimeout="30"
customProvider=""
cookieless="false"
regenerateExpiredSessionId="false"
timeout="20"
sessionIDManagerType="Your.ID.Manager.Type, CustomAssemblyNameInBinFolder"
/>