问题列表 - 第43694页

我在哪里将Ioc(ninject)代码放在我的服务层项目中?

我有3个项目文件

webui - controllers and views
framework - service layer and repos
tests- unit tests
Run Code Online (Sandbox Code Playgroud)

所以我看到的是我的控制器只会与我的服务层(包含我的业务逻辑)对话.服务层将与repos通信并获取数据库数据.

我的回购只会说数据库并返回数据.

现在,如果我想进行单元测试,我需要有假的服务层和假存储库.

通过这种方式,我可以隔离地测试控制器和服务层.

那么我在哪里将我的ninject代码放在我的框架类库中,以便我可以将它与我的服务层一起使用?

编辑

史蒂文,你说我应该这样做

//使用mvc扩展在全局aspx中设置ninject

//现在绑定东西

private class SportsStoreServices : NinjectModule
        {
            public override void Load()
            {

                Bind<IAdminService>().To<AdminService>();
                Bind<IAdminRepo>().To<AdminRepo>();
            }
        }
Run Code Online (Sandbox Code Playgroud)

//控制器

public class AccountController : Controller
    {
        //
        // GET: /Account/

   private IAdminService adminService;

 public AccountController(IAdminService adminService)
        {
   this.adminService = adminService;
 }


        public ActionResult Login()
        {
            var getAllAdmins = adminService.GetAllAdmins();
            return View();
        }

    }
Run Code Online (Sandbox Code Playgroud)

//服务层

public class AdminService : IAdminService
{ …
Run Code Online (Sandbox Code Playgroud)

dependency-injection ninject ioc-container repository-pattern asp.net-mvc-2

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

scala通过嵌套函数或多个参数列表进行currying

在Scala中,我可以使用两个参数列表定义一个函数.

def myAdd(x :Int)(y :Int) = x + y
Run Code Online (Sandbox Code Playgroud)

这样可以轻松定义部分应用的功能.

val plusFive = myAdd(5) _
Run Code Online (Sandbox Code Playgroud)

但是,我可以通过定义和返回嵌套函数来完成类似的事情.

  def myOtherAdd(x :Int) = {
    def f(y :Int) = x + y
    f _
  }
Run Code Online (Sandbox Code Playgroud)

在化妆方面,我已经移动了下划线,但这仍然感觉像是在晃动.

val otherPlusFive = myOtherAdd(5)
Run Code Online (Sandbox Code Playgroud)

我应该使用什么标准来偏好一种方法呢?

scala

6
推荐指数
2
解决办法
1801
查看次数

C#坐标键控字典

我有一个班级Room和一个班级World.目前,我有一个

    Dictionary<Point, Room> world;
Run Code Online (Sandbox Code Playgroud)

我存储Room的是这样的:

    world.Add(new Point(0,0), new Room());
Run Code Online (Sandbox Code Playgroud)

但是当我尝试访问它时,它返回null:

    world.Get(new Point(0,0));
Run Code Online (Sandbox Code Playgroud)

我理解为什么会这样.但我的问题是:有人知道更好的方法吗?

c# multidimensional-array coordinate

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

WPF的免费字体和颜色选择器?

我正在为WPF寻找一些好的字体选择器和颜色选择器组件.我试图找到一些标准的解决方案,如Winforms组件,但似乎没有(我想知道为什么?).

它不一定是完美的,从代码项目中可以得到一些,但我更喜欢看起来很好看的直观易用的组件.

谢谢

.net c# wpf components

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

SQL-将长整数转换为日期时间

我有一个具有以下长整数格式的日期的数据库:

20100101000000

当天时间是2010年1月1日,00:00:00。

我希望能够将其转换为普通的SQL Datetime语法并返回。这可能吗?我只能做到这一点:

SELECT CAST(CURRENT_TIMESTAMP as int);
Run Code Online (Sandbox Code Playgroud)

它返回“ 40556”-不完全是Im之后的内容。

sql t-sql

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

Rails v3/Ruby 1.9.2中的字符编码问题

当我从文件中读取内容时,有时会出现此错误" UTF-8中的无效字节序列 ".注意 - 只有在字符串中有一些特殊字符时才会发生这种情况.我试过没有"r:UTF-8"打开文件,但仍然得到相同的错误.

open(file, "r:UTF-8").each_line { |line| puts line.strip(",") } # line.strip generates the error
Run Code Online (Sandbox Code Playgroud)

文件内容:

# encoding: UTF-8
290919,"SE","26","Sk‰l","",59.4500,17.9500,, # this errors out
290956,"CZ","45","HornÌ Bradlo","",49.8000,15.7500,, # this errors out
290958,"NO","02","Svaland","",58.4000,8.0500,, # this works
Run Code Online (Sandbox Code Playgroud)

这是我从外面获得的CSV文件,我试图将其导入我的数据库,它顶部没有"#encoding:UTF-8",但我添加了这个,因为我读到了某处它将解决这个问题,但事实并非如此.:(

环境:

  • Rails v3.0.3
  • ruby 1.9.2p0(2010-08-18修订版29036)[x86_64-darwin10.5.0]

ruby ruby-on-rails character-encoding

7
推荐指数
2
解决办法
8165
查看次数

C/C++:浮动比较速度

我正在检查以确保浮点数不为零.浮子不可能变为负面.那么这个float != 0.0f或者这个更快float > 0.0f吗?

谢谢.

编辑:是的,我知道这是微优化.但是每次通过我的游戏循环都会调用它,无论如何我想知道.

c c++ floating-point comparison performance

4
推荐指数
2
解决办法
2331
查看次数

为什么我不能发布这个NSString?

这是相关代码:

NSString *address = [NSString stringWithFormat:@"%@", [defaultServer root]];
address = [address stringByAppendingFormat:@"%@", [defaultServer login]];
address = [address stringByAppendingFormat:@"?%@", [params urlEncodedString]];

NSString *response = [[NSString alloc] init];
response = [self getResponseFromWebAddress:address];

[response release];
[address release];
Run Code Online (Sandbox Code Playgroud)

此代码在此处没有错误,但稍后在某些Apple库中会抛出"发送到解除分配的实例的消息"错误.但是,如果我注释掉[address release]它就行了.为什么?我不太了解内存管理,这让我很困惑.

iphone xcode memory-management objective-c

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

从网址中间删除文本

不是最好的方法... preg_match或rtrim.无法工作......

$insert = http://www.site.com/buy/vancouver/house
$insert = rtrim("$insert", "/buy");
Run Code Online (Sandbox Code Playgroud)

没变.

谢谢您的帮助.

php preg-match

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

使用vim时如何快速访问ruby和rails文档?

vim用户使用什么方法来快速访问ruby和rails的文档(除了切换到浏览器以使用ruby-docrailsapi?).

我试图去适应这个脚本(http://vim.wikia.com/wiki/Online_documentation_for_word_under_cursor)这样的伎俩但它只会工作,如果光标在一个类的名字,我想它与两个工作类和方法.

谢谢.

ruby vim ruby-on-rails

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