草庐IT

multi-context-coredata

全部标签

c# - 使用 DbContext 和 TenantId 的 Multi-Tenancy - 拦截器、过滤器、EF 代码优先

我的组织需要共享数据库、共享架构Multi-Tenancy数据库。我们将根据TenantId进行查询。我们将拥有很少的租户(少于10个),并且所有租户都将共享相同的数据库模式,不支持特定于租户的更改或功能。租户元数据将存储在内存中,而不是数据库(静态成员)中。这意味着所有实体现在都需要一个TenantId,并且DbContext需要知道默认情况下对此进行过滤。TenantId可能由header值或原始域标识,除非有更可取的方法。我已经看到各种利用拦截器的示例,但还没有看到关于TenantId实现的明确示例。我们需要解决的问题:我们如何修改当前架构以支持此功能(我认为很简单,只需添加Te

c# - HttpContext.Current.Session 与 Context.Session

它们是一回事吗?或者它们有什么不同?我读过这个SOpost和this但他们比较的是HttpContext.Current.Session和Session而不是Context.Session。我错过了什么/误解了什么? 最佳答案 Context.Session在与HttpContext.Current.Session相同的页面中。HttpContext.Current.Session通常从不直接在页面上或没有对当前页面的引用的代码中使用。 关于c#-HttpContext.Current.

c# - 开发 Multi-Tenancy asp.net MVC 应用程序时要记住什么?

下午好-我今天有一个很笼统的问题-我的任务是创建一个网络应用程序来管理客户的一些基本信息。这是一个非常简单的应用程序,但我不知道在围绕支持多个用户在他们自己的域或我们url的子域中开发站点时要记住什么?我如何限制用户登录应用的其他部分?我在StackOverflow上的类似问题中看到了对数据库范围的提及,有人可以详细说明这种实现的最佳实践吗?MVC3中是否有任何支持Multi-Tenancy的新功能?我正面临MVC2和我的电子商务网站的这个问题,我们决定我们希望它为多个店主贴上白色标签并可定制,并且不知道从哪里开始在现有应用程序中实现这些功能。感谢任何输入。编辑详细说明Multi-Te

c# - 使用静态工厂 Func<T> 为 ASP.NET 应用程序创建 "Ambient Context"(UserContext)

我发现几乎每个类(Controller、View、HTML帮助程序、服务等)我都需要当前登录的用户数据。所以我考虑创建一个“环境上下文”而不是直接注入(inject)IUserService或用户。我的方法看起来像那样。publicclassBootstrapper{publicvoidBoot(){varcontainer=newContainer();//thecalltoIUserService.GetUseriscachedperHttprequest//byusingadynamicproxycachingmechanism,thatalsohandlescaseswhere

c# - Ninject multi-injection 并没有我想象的那么贪心!怎么会?

如果我有一个类,其中的ctor设置为像这样的多重注入(inject):publicShogun(IEnumerableallWeapons){this.allWeapons=allWeapons;}绑定(bind)设置如下:Bind().To();Bind().To().WhenInjectedInto();那么我希望build幕府将军时两种武器都已注入(inject)?但事实并非如此-它只会获得Dagger。如果我像这样添加进一步的绑定(bind):Bind().To();Bind().To().WhenInjectedInto();Bind().To().WhenInjectedI

c# - EntityFramework 测试初始化​​错误 : CREATE DATABASE statement not allowed within multi-statement transaction

我正在尝试构建一个快速测试,每次运行时都会删除并重新创建数据库。我有以下内容:[TestClass]publicclassPocoTest{privateTransactionScope_transactionScope;privateProjectDataSource_dataSource;privateRepository_repository=newRepository();privateconststring_cstring="DataSource=.;InitialCatalog=test_db;Trusted_Connection=True";[TestInitialize

c# - 如何使用 Simple injector、Repository 和 Context - code first

我正在尝试使用SimpleInjector创建我的存储库并在业务逻辑层中使用它(我也想使用PerWebRequest方法)。在DAL层我有:publicinterfaceIRepositorywhereT:class{voidAdd(Tentity);voidDelete(Tentity);voidDelete(intid);voidUpdate(Tentity);TGetById(intId);IQueryableAll();IEnumerableFind(Funcpredicate);}和:publicclassEFRepository:IRepository,IDisposabl

c# - context.DeserializeTicket(token) 做什么?

我想了解刷新token的工作原理,我有一个很好的主意,这里有一个例子http://bit.ly/1n9Tbot,但我发现了这个context.DeserializeTicket(protectedTicket);我不确定它的作用,实际上没有任何文档,您可以在这里看到http://bit.ly/1y7LTHt是用来销毁token的吗?如果是“反序列化”,为什么不返回任何东西? 最佳答案 context.DeserializeTicket()类似于context.SetTicket()因为它们都设置了上下文的标签。区别在于Deseria

c# - ASP MVC 中的 Multi-Tenancy

恐怕又是一个Multi-Tenancy帖子。我只是找不到解决我问题的好方法,我已经阅读了所有关于ASPMVCMulti-Tenancy的精彩文章,但我仍然需要一些好的建议。我要为我的一位客户创建公司形象。他们的公司结构就像一个主公司(前AcmeGroupLtd.)拥有其他几家公司(例如AcmeHoldingLtd、AcmeTechnologyLtd.、AcmeMaritimeLtd.等)。我想使用一个ASPMVC项目作为所有站点的容器,以减少所需的代码并使其保持干燥。我还希望所有网站都使用相同的成员(member)数据库。我的第一个想法是为每个子公司创建一个Controller文件夹,

c# - 这个 Ambient Context 怎么会变成 null 呢?

谁能帮我解释一下TimeProvider.Current如何在下面的类中变为null?publicabstractclassTimeProvider{privatestaticTimeProvidercurrent=DefaultTimeProvider.Instance;publicstaticTimeProviderCurrent{get{returnTimeProvider.current;}set{if(value==null){thrownewArgumentNullException("value");}TimeProvider.current=value;}}public