小编Mar*_*mus的帖子

使用存储库模式,工作单元和Unity的实体框架

使用此示例此实现提供的组合,我尝试创建一个解决方案,将UnitOfWork类与各个存储库分离,因为它们违反了开放 - 封闭原则,因为每次添加新存储库时都必须修改UnitOfWork类.我使用Unity作为IoC容器来连接依赖项.

我的问题是,在自动布线构成UnitOfWork,IDbContext和储存库(IEmployeeRepositoryICustomerRepository使用Unity)时,存储库将与的单独实例注入UnitOfWork,其中,当然,失败的目的.我需要在存储库之间共享上下文,似乎我错过了这个难题的一个部分 - 目前(参见服务层),UnitOfWork实例化将与UnitOfWork每个存储库的不同.

如何使用Unity和依赖注入将注入IUnitOfWork到服务层并将此实例化的共享 UnitOfWork类传递到相应的存储库?

这是我提出的(伪造的)解决方案:

public interface IRepository<TEntity> where TEntity : class
{
    TEntity Create();
    // omitted for brevity
}

public class Repository<TEntity> : IRepository<TEntity>
    where TEntity : class
{       
    private readonly DbContext _context;

    public Repository(IUnitOfWork uow)
    {
        _context = uow.Context;
    }

    public virtual TEntity Create(TEntity entity)
    {
        return …
Run Code Online (Sandbox Code Playgroud)

entity-framework inversion-of-control unity-container unit-of-work repository-pattern

15
推荐指数
1
解决办法
2万
查看次数

Chrome开发者工具会在没有设置断点的地方继续打破

使用Chrome开发者工具调试JavaScript代码时,调试器会暂停未设置断点的代码.我没有Pause on exceptions启用该功能,并且肯定没有设置断点(参见附图).

我之前问了一个类似的问题是有帮助的但是并没有完全解决这个问题(以前我已经Pause on exceptions启用了).在下面的示例中,我换出了kendo.all.min.js未缩减版本的缩小版本,这允许我查看脚本执行暂停的位置,但我不知道为什么它被暂停.这种情况也发生了很多jquery.min.js.

在此输入图像描述

javascript google-chrome-devtools

11
推荐指数
2
解决办法
3515
查看次数

使用Unity,如何注册泛型的类型映射?

我正在尝试为Entity Framework实现存储库解决方案,但是我在使用Unity注册包含泛型的类型时遇到了问题.

鉴于:

    // IRepository interface
    public interface IRepository<TEntity>
    {
        // omitted for brevity
    }

    // Repository implementation
    public class Repository<TEntity, TContext> : IRepository<TEntity>, IDisposable 
            where TEntity : class
            where TContext : DbContext
    {
        // omitted for brevity
    }

    // service layer constructor
    public MyServiceConstructor(IRepository<Account> repository)
    {
        _repository = repository;
    }
Run Code Online (Sandbox Code Playgroud)

我需要将IRepository的类型映射注册到Repository.但是我在使用这种映射的Unity语法时遇到了麻烦.

我试过以下没有运气:

container.RegisterType<IRepository<>, typeof(Repository<,>)>();
container.RegisterType<typeof(IRepository<>), Repository<,>>();
Run Code Online (Sandbox Code Playgroud)

编辑

基于@Steven响应我现在有以下实现:

// UnityRepository implementation   
public class UnityRepository<TEntity> : Repository<TEntity, MyDbContextEntities>
        where TEntity : class
{
    public UnityRepository() : …
Run Code Online (Sandbox Code Playgroud)

entity-framework unity-container separation-of-concerns repository-pattern

9
推荐指数
1
解决办法
1万
查看次数

ASP.NET MVC和使用cookieless会话

关于ASP.NET MVC和无cookie会话似乎存在矛盾的看法. 有些人说MVC彻头彻尾的不支持,但其他人似乎在没有任何问题的情况下使用MVC和无cookie会话.如果我创建一个测试MVC项目并启用无cookie会话,一切似乎都能正常工作.有没有人对使用MVC的无cookie会话有明确和支持的答案,即为什么或为什么不使用它们?

注意:我知道使用无cookie会话的安全隐患,但在我的情况下和内部应用程序中,其他用户窃取sessionId的风险并不是太大的问题.

asp.net asp.net-mvc

9
推荐指数
1
解决办法
7117
查看次数

ASP.NET MVC Windows身份验证显示登录提示而不是登录

基于这篇文章,我使用Visual Studio 2013 Intranet Site模板创建了一个基本的ASP.NET MVC站点,该模板具有默认设置并且不做任何更改.

在调试模式下运行站点而不是登录并显示我的时domain\username,我会在Authentication Required对话框中提示输入用户名/密码.

我的印象是,由于我已经对域进行了身份验证,因此我应该使用我的AD帐户直接登录到应用程序,而无需输入任何内容.当我尝试明确输入我的AD名称或本地用户帐户时,不接受任何内容.

编辑

如果我使用Firefox键入我的用户名/密码,我会通过身份验证,但不会使用Chrome和IE.

有任何想法吗?

c# authentication asp.net-mvc-4

7
推荐指数
1
解决办法
7207
查看次数

如何强制MVC路由到Home/Index而不是root?

如果我创建MVC操作或操作链接,例如@Url.Action("Index", "Home")"我被重定向到http://www.example.com,但我想要强制它重定向到http://www.example.com/Home/Indexhttp://www.example.com/Home.有没有办法明确呈现完整路径?我的谷歌搜索空洞.

asp.net-mvc

6
推荐指数
1
解决办法
7459
查看次数

Google Chrome开发者工具已停止将输出和错误记录到控制台?

我目前正在运行Google Chrome版本31.0.1622.7,并且大约2天前我的开发工具停止记录我的任何输出(例如console.log("Blah.."),或者向控制台显示任何错误.如果发生错误,我可以看到窗口右下角的红色错误图标,但是如果我点击图标,它不会在控制台窗口中显示错误详细信息或突出显示源中的错误.

我尝试重新安装Chrome,但问题仍然存在.是否有其他人遇到此问题,和/或有解决方案?

google-chrome google-chrome-devtools

5
推荐指数
3
解决办法
1万
查看次数

ASP.NET MVC自定义角色提供程序不起作用

我已经设置了使用下面的代码实现的自定义角色提供程序,除了它似乎从未被使用过,并且正在使用默认提供程序.当使用[Authorize(Roles = "Administrator")]属性装饰HomeController时,CustomRoleProvider正在调用构造函数(我只包含构造函数以查看是否会命中断点)但是没有调用任何方法.然后我留下了一个HTTP Error 401.0 - Unauthorized页面.

除了向web.config添加必要的位之外,我还没有做任何其他事情来使Windows身份验证工作.我认为它正在工作,因为如果我不包括<allow users="*"></allow>(显然没有包含Authorize属性)我得到一个401.2.: Unauthorized: Logon failed due to server configuration错误,所以我假设我正在被认证.

我已根据此SO帖子清除了我的浏览器cookie,但这没有任何效果.

CustomerRoleProvider

public class CustomRoleProvider : RoleProvider
{
    public CustomRoleProvider()
    {            
    }

    public override bool IsUserInRole(string username, string roleName)
    {
        bool isUserInRole = false;

        // omitted for brevity

        return isUserInRole;
    }

    public override string[] GetRolesForUser(string username)
    {
        string[] roles = null;

        // omitted for brevity

        return roles;
    }

    // omitted …
Run Code Online (Sandbox Code Playgroud)

c# roles asp.net-authorization asp.net-mvc-4

5
推荐指数
1
解决办法
5570
查看次数

当使用ASP.NET MVC和Entity Framework时,app.config是否必要?

假设我有一个应用程序分为几个层:

  1. MVC
  2. AzureCache
  3. 服务
  4. 楷模
  5. EntityFrameworkRepository

将Windows Azure和Entity Framework Nuget软件包添加到AzureCacheEntityFrameworkRepository图层时,app.config文件会添加到每个相应的图层等.我很惊讶地看到,当我排除这些app.config文件时,应用程序仍然运行.我想app.config如果在MVC项目中需要/重复设置,我问的是服务的目的是什么?是app.config即使在运行时使用?

asp.net-mvc entity-framework azure

1
推荐指数
1
解决办法
1343
查看次数