实现自定义 SessionIDManager

发布于 2024-10-10 10:34:50 字数 688 浏览 0 评论 0原文

我正在尝试实现一个非常相似的自定义 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?

I'm trying to implement a custom SessionIDManager very similar this example.

I'm putting this in the web.config similar to how they showed in the example:

<system.web>
  <httpModules>
    <add name="SessionID"
         type="ProjectName.WebUI.Models.CustomSessionIDManager" />
  </httpModules>
  // --snip--
</system.web>

However when attempting to load the website I am getting the configuration error:

ProjectName.WebUI.Models.CustomSessionIDManager does not implement IHttpModule.

If I remove that part of the web.config, the website loads, but the overridden part of the custom SessionIDManager does not get run.

How do I properly tell the web.config to use my custom SessionIDManager?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓝天白云 2024-10-17 10:34:50

事实上,我认为文档中存在错误。您不需要将其添加到 部分,而是添加到 部分,如 此处说明

<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"
/>

In fact I think there's a bug in the documentation. You don't need to add it to the <httpModules> section but to the <sessionState> section as illustrated here:

<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"
/>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文