Ninject 每个会话单例?

2024-02-01

因此,我试图将用户的概念引入我的应用程序,并拥有自己的一组自定义登录例程等,工作正常。在我的模块中,我将 IUserSession 绑定到我的实现和 InSingletonScope。

现在我怀疑情况确实如此,并且已经能够证明这不是正确的做法,如果我尝试使用两个用户登录同一站点,我只会得到一组数据。

如果我实现 MembershipProvider,我是否可以避免这样的限制。我知道,如果我实现会员资格提供程序,我不必注入所有内容,但我的登录不仅仅是用户名/密码,如何使用附加数据登录”?


InSingletonScope 在整个应用程序中共享,不受每个用户会话的限制。你所做的任何事情都不会改变这一点。您需要使用其他类似 InRequestScope 的东西,但这仅根据实际请求共享......

试试这个网站:http://iridescent.no/post/Session-Scoped-Bindings-With-Ninject-2.aspx http://iridescence.no/post/Session-Scoped-Bindings-With-Ninject-2.aspx

public static class NinjectSessionScopingExtention {
    public static void InSessionScope<T>(this IBindingInSyntax<T> parent) {
        parent.InScope(SessionScopeCallback);
    }

    private const string _sessionKey = "Ninject Session Scope Sync Root";

    private static object SessionScopeCallback(IContext context) {
        if (HttpContext.Current.Session[_sessionKey] == null) {
            HttpContext.Current.Session[_sessionKey] = new object();
        }

        return HttpContext.Current.Session[_sessionKey];
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ninject 每个会话单例? 的相关文章

  • 无法安装 MvcMailer

    我尝试通过在程序包管理器控制台中输入命令 Install Package MvcMailer 来安装 Mvc Mailer 但收到以下错误消息 Successfully installed MvcMailer 1 1 Successfull
  • MapSingleType错误

    我通过 MVC3 创建一个项目 并首先使用 EF Code 作为数据访问层 在我的数据库中我有PackaginInfo表 在项目中我关心包类 这是我的代码 public class Package public decimal Packag
  • 为什么 Html.Label() 不适用于句点?

    我使用 Html Label strings 输出一些字符串 当我向它传递一个带有句点的值时 它只输出空格 Html Label 公司 e g 公司是一个动态值 如果值为 Bill Co 则有效 但如果为 Bill Co 则无效 唯一的区别
  • HttpContext.Current.Request.Form 复选框

    我将表单发布到 MVC 控制器 我想在其中处理用户在类似 html 结构的网格上所做的一些更改 我在视图中为每一行呈现了呈现为简单 HTML 的复选框
  • 如何为Data-First自动创建的实体添加数据注释?

    如果模型优先 我们使用 MetadataType typeof ConceptMetadataSource 附加一个包含所有数据注释的 MetadataSource 文件 例如 HiddenInput DisplayValue false
  • 在哪里以及如何为我的 asp.net MVC 3 Web 应用程序定义

    我想将自定义错误设置为 true 以防止用户查看有关我的应用程序的详细信息 但我找不到应该在哪里写这个
  • System.ArgumentException:程序集中的重复类型名称

    我正在使用 EF 4 1 开发 ASP Net MVC 3 Web 应用程序 从今天开始 我收到此错误 System ArgumentException 程序集中的重复类型名称 我不知道是什么原因造成的 执行查找时 它发生在我的存储库中 p
  • 如何选择性地呈现 ASP.Net MVC 3 中的某个部分?

    在我的网站上 我有一个部分 浮动侧边栏 我只想为一部分用户 管理员 呈现该部分 我希望我可以将逻辑放入主布局中 以确定是否应显示该部分 但如果未呈现该部分 则会导致页面上出现错误 示例代码 Layout cshtml code if use
  • 使用现有的自定义库从 HttpHandler 访问 Ninject Kernel.Get()

    我有一个 ASP Net Webforms 应用程序 它使用 Ninject 2 2 0 0 我有一个继承自 Microsoft Web ImageHandler 类的 HTTPHandler 在其中我需要访问我创建的服务类的实例 因为我无
  • 返回没有属性名称的 Json 结果

    很可能是一个相当微不足道的问题 但我就是找不到合适的答案 我想返回一个 JsonResult 但实际结果没有任何属性名称 这是我想要实现的一个小例子 xbox Xbox 360 Xbox cheats Xbox 360 games The
  • ASP.NET MVC - 授权属性登录重定向后保留 POST 数据

    我有一个带有评论的博客文章页面 任何用户 无论是否登录 都可以在页面底部看到一个表单来发表评论 当用户输入评论且未获得授权时 用户将被重定向到登录 注册页面 登录后 用户将被重定向回操作 但包含评论正文的 POST 数据会丢失 我使用 AS
  • 如何使用 MVC 属性验证列表是否具有大于零的非空元素?

    我正在尝试实现一个可以获取不同数量的文件的文件上传器 文件输入元素的名称都相同 因此会生成 MVC3 乐意绑定的文件列表 所以在我的控制器中我有 public virtual ViewResult UploadReceive IEnumer
  • 果园:自定义注册字段

    对于我的 Orchard 项目 我需要用户在注册时提供一些附加信息 说 名字 姓氏 裤子颜色 此信息必须在注册时输入 并且不能推迟到以后 根据客户的订单 我尝试使用配置文件和扩展注册插件来请求这些 但据我所知 这只为我提供了在注册表中显示的
  • 如何重新包含排除的文件夹

    所以我只是无意中点击了我的项目的致命一击Exclude From Project代替Add在我的控制器文件夹中 当尝试添加名为 Controllers 的文件夹时 我收到错误 此文件夹存在 但是 如果我尝试单击该项目 gt Add Exis
  • 在 ASP.NET mvc 4 中使用 Ninject 时控制器工厂是否必要

    关于将 Ninject 与 asp net mvc 4 一起使用 我不知道如何处理 net 中通过 google 提供的大量文档 首先 我想知道ASP NET中是否需要控制器工厂 另外 构造函数注入真的是我们可以使用 MVC 4 进行依赖项
  • .NET MVC - 一次提交相同类型的多个模型

    我认为我有一个非常简单的场景 但似乎无法掌握如何在 NET 的 MVC 框架中做到这一点 最简单地说 这是一种对人员进行排名的形式 我希望将每个人的姓名及其姓名旁边的文本框列在一页上 Razor Html 如下所示 using Html B
  • 在 mvc 中对远程验证的成功响应执行一些操作

    我正在使用远程验证来检查我的 asp net mvc 3 应用程序 C 注册期间用户名的可用性 我使用 MVC 远程属性验证 Remote IsUserNameAvailable User public string UserName ge
  • Azure 网站中的 404 处理

    我在 Azure 上有一个 MVC 网站 我已经编写了一个控制器操作来代表资源 该操作应该返回 HTTP 404 但正文内容应该是一些 HTML 我在其中解释了 404 的原因 这是作为一个标准操作实现的 该操作设置Response Sta
  • 创建新控制器时出现错误:“不支持的上下文类型”

    我将使用 ASP NET MVC3 Linq to Sql 类 而不是实体框架 MS SQL Server 2008 pro 而不是 Express ed 来实现 MvcMusicStore 我从那里得到了教程mvcmusicstore c
  • WebService ASP.NET MVC 3 发送和接收

    这几天我一直在绞尽脑汁思考如何满足新的要求 我有两个网站 第一个让用户填写申请表 第二个网站是用于管理用户应用程序的内部网站 我需要开发一个 Web 服务 将应用程序数据从网站 1 发送到网站 2 并向网站 2 返回成功或失败的响应 我以前

随机推荐