小编gan*_*jan的帖子

如何使用构造函数依赖注入单元测试asp.net核心应用程序

我有一个asp.net核心应用程序,它使用在应用程序的startup.cs类中定义的依赖注入:

    public void ConfigureServices(IServiceCollection services)
    {

        services.AddDbContext<ApplicationDbContext>(options =>
            options.UseSqlServer(Configuration["Data:FotballConnection:DefaultConnection"]));


        // Repositories
        services.AddScoped<IUserRepository, UserRepository>();
        services.AddScoped<IUserRoleRepository, UserRoleRepository>();
        services.AddScoped<IRoleRepository, RoleRepository>();
        services.AddScoped<ILoggingRepository, LoggingRepository>();

        // Services
        services.AddScoped<IMembershipService, MembershipService>();
        services.AddScoped<IEncryptionService, EncryptionService>();

        // new repos
        services.AddScoped<IMatchService, MatchService>();
        services.AddScoped<IMatchRepository, MatchRepository>();
        services.AddScoped<IMatchBetRepository, MatchBetRepository>();
        services.AddScoped<ITeamRepository, TeamRepository>();

        services.AddScoped<IFootballAPI, FootballAPIService>();
Run Code Online (Sandbox Code Playgroud)

这允许这样的事情:

[Route("api/[controller]")]
public class MatchController : AuthorizedController
{
    private readonly IMatchService _matchService;
    private readonly IMatchRepository _matchRepository;
    private readonly IMatchBetRepository _matchBetRepository;
    private readonly IUserRepository _userRepository;
    private readonly ILoggingRepository _loggingRepository;

    public MatchController(IMatchService matchService, IMatchRepository matchRepository, IMatchBetRepository matchBetRepository, ILoggingRepository loggingRepository, IUserRepository userRepository)
    {
        _matchService = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net testing unit-testing dependency-injection

49
推荐指数
5
解决办法
4万
查看次数

无法解决路由器的所有参数:单元测试时Angular RC 5中的(?,?,?,?,?,?,?)

我刚刚升级到Angular RC 5,现在所有使用'ROUTER_DIRECTIVES'的组件都失败了'当我尝试进行单元测试时,无法解析路由器的所有参数:(?,?,?,?,?,?,?)组件.

import { inject, addProviders } from '@angular/core/testing';
import { ComponentFixture, TestComponentBuilder } from '@angular/core/testing';
import { Component } from '@angular/core';
import { ROUTER_DIRECTIVES, Router } from '@angular/router';

import { HomeComponent } from './home.component';
import { UserService } from '../_services/user.service';

describe('Component: Home', () => {

  beforeEach(() => {
    addProviders([HomeComponent, UserService, ROUTER_DIRECTIVES, Router]);
  });  

  it('should inject the component', inject([HomeComponent, UserService, ROUTER_DIRECTIVES, Router],
    (component: HomeComponent) => {
      expect(component).toBeTruthy();
      // expect(component.currentUser.firstname).toEqual('Jan');
    }));
Run Code Online (Sandbox Code Playgroud)

完整的错误日志:

     Chrome 52.0.2743 (Windows 10 0.0.0)
   Error: Can't resolve …
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing typescript angular2-routing angular

44
推荐指数
7
解决办法
3万
查看次数

在datetime x min ago和datetime x min before之间从mysql表中选择

我想我在标题中总结得很好.我想从特定时间到另一个特定时间选择在线用户.我的表看起来像这样:

CREATE TABLE online (

    id bigint(20) NOT NULL auto_increment,
    `username` varchar (16) NOT NULL, 
    `ip` varchar(39) NOT NULL default '',   
    `time` datetime NOT NULL default '0000-00-00 00:00:00' ,

      PRIMARY KEY  (id)
);
Run Code Online (Sandbox Code Playgroud)

我想要一个返回username已经联机的查询last 15 minutes.

并查询已在线的用户last 60 minutes, but not the last 15 minutes.因此查询不会返回相同的值.这个我不知道该怎么做.

mysql sql datetime

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

如何在Visual Studio Code vim扩展中使用vim(键绑定)

我刚开始使用Visual Studio Code并认为它真的很棒.还安装了vim扩展,但我正在努力映射esc到另一个密钥.

通常我有这个:

:imap jj <Esc>
Run Code Online (Sandbox Code Playgroud)

我可以看到VS Code有一个keybindings.json文件.我试过这个:

[{
    "key": "jj",
    "command": "vim.Esc",
    "when": "editorTextFocus"
}]
Run Code Online (Sandbox Code Playgroud)

还有一个settings.json文件,所以我试过:

{
  "vim.keyboardLayout": "en-US (QWERTY)",
    "vim.insertModeKeyBindings": {
        "j": "vim.Esc"
    }
}
Run Code Online (Sandbox Code Playgroud)

也没工作.那么有没有人知道如何使用VS代码的vim扩展我可以映射jjEsc或其他什么Esc呢?

vim vim-plugin visual-studio-code

25
推荐指数
2
解决办法
3万
查看次数

如何在退出时自动保存vim会话并在启动时自动重新加载包括拆分窗口状态?

我喜欢将我的vim屏幕拆分为3. one:vsplit和one:split.当我关闭vim时,我想要保存这些窗口和我工作的文件.我也希望这些窗口在我启动vim时自动加载.

我试图安装gsessions(刚刚将文件添加到插件文件夹中),但没有任何事情发生.我是vim的新手,所以我不确切知道配置是如何工作的.

vim session configuration

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

session_start():ps_files_cleanup_dir:opendir(/ var/lib/php5)失败:权限被拒绝

可能重复:
PHP 5.3和会话文件夹的问题

我有时会得到这个错误,是什么给出的?

我想它在我的ubuntu 10.10盒子上有文件权限.我怎么阻止它?

linux permissions ubuntu file-permissions permission-denied

18
推荐指数
0
解决办法
2万
查看次数

从引导工具提示中删除透明度

来自twitter bootstrap的标准.tooltip具有我想删除的透明度.

这是我的HTML:

<a href="#" class="btn
btn-info" 
style="margin:10px;" 
data-toggle="tooltip" 
data-placement="bottom" 
data-html="true"
title="MERKNAD 1 Denne klassifiseringen er i henhold til NS-EN 13501-2. <br /><br /> MERKNAD 2 Valgene 11-16 gjelder bærende konstruksjoner, valgene 21-24 gjelder kun integritet, valgene 31-37 gjelder både integritet og isolasjon, valgene 41-46 gjelder bærende skiller konstruksjoner med isolasjonskrav, og valgene 51-54 gjelder seksjoneringsvegger og dekker.">Hover</a>
Run Code Online (Sandbox Code Playgroud)

CSS:

.tooltip > .tooltip-inner {
    border: 1px solid;
    padding: 10px;
    max-width: 450px;
    color: black;
    text-align: left;
    background-color: white;
    background: white;
    opacity: 1.0; …
Run Code Online (Sandbox Code Playgroud)

html css jquery twitter-bootstrap twitter-bootstrap-tooltip

17
推荐指数
3
解决办法
2万
查看次数

增加登录时间延迟停止强制执行,好主意?

我已经设置了我的数据库来记录每次失败的登录尝试.我以为我会将失败的尝试次数乘以0.05秒或者其他东西.就像是:

            time_nanosleep(0, (50000000 * $failed_attempts ) ); 
Run Code Online (Sandbox Code Playgroud)

黑客用来猜测密码的更多尝试,每次检查需要更多时间.检查100张密码后,他必须在每次尝试之间等待5秒.

这是阻止暴力破坏的好方法吗?我通过IP识别用户.所以我猜你可以通过使用多个代理服务器或其他东西来强制执行应用程序,但除此之外,我认为这是一个好主意.你们有什么感想?

php passwords sleep brute-force password-protection

13
推荐指数
2
解决办法
6576
查看次数

从他人那里复制css和html代码,版权侵权?

这可能不是编码问题,但与编码非常相关所以我希望我能在这里得到答案.所有编码员,也许是特别设计师.在自己的代码中使用其他代码.如果你看到自己喜欢的东西.您在设计中使用该代码.在某种程度上,我确信每个编码器都会这样做.所以我想知道线路在哪里.

你能使用其他完整的css文件,并且设计与其他网站几乎相同吗?当然,内容完全不同.或者这是否侵犯了版权?你如何确认人们对某事有版权?

您在哪里可以找到关于此的法律信息?谢谢

html css

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

Azure Web应用程序突然出现500个错误

我在azure的web应用程序突然给了我500个错误,我找不到任何理由.我甚至无法使用直接链接请求图像.

500 - 请求超时.Web服务器无法在指定时间内响应.

ASP.net Web应用程序在我的本地计算机上完美运行,并且该应用程序曾在一周前完美地运行.从那时起,我没有对应用程序进行太多更改.

我甚至尝试将ASP.net应用程序上传到新的Web应用程序实例,但仍然存在同样的问题.它如何在本地工作而不是远程工作?我该如何调试呢?我无法运行远程调试器,因为它从不启动应用程序.它只是超时..

这是一个使用typescript btw的ASP.NET 5,angular 2应用程序.

我的eventlog.xml说:

100000Keywords636333796ApplicationRD00155D4A13C6Process'42576'无法启动.端口= 18693,错误代码=' - 2147023829'.100000Keywords637631703ApplicationRD00155D4A13C6Process'50976'无法启动.端口= 22932,错误代码=' - 2147023829'.100000Keywords639938953ApplicationRD00155D4A13C6Process'49572'无法启动.端口= 4513,错误代码=' - 2147023829'.

c# asp.net azure azure-web-sites

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