小编gro*_*kky的帖子

在构造函数中定义get/set

这可以做到:

var o = {
  _foo : "bar",
  get Foo() { return _foo; },
  set Foo(value) { _foo = value; }
};
Run Code Online (Sandbox Code Playgroud)

但我的代码是在构造函数中定义的,所以我想要这样的东西:

function Something(defaultFoo) {
  var _foo = defaultFoo;
  get Foo() { return _foo; };               // invalid syntax
  set Foo(value) { _foo = value; };         // invalid syntax
}

var something = new Something("bar");
console.log(something.Foo);
Run Code Online (Sandbox Code Playgroud)

该语法无效.有一些变化有效吗?

javascript getter-setter

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

Bootstrap导航栏下拉列表中的注销表单

我有一个带有下拉菜单的Bootstrap3导航栏.

我希望我的"注销"表单在该下拉列表中.它不是可见的形式,只是表单中的注销按钮.

我试过这个:

<div class="navbar-collapse collapse">
  <ul class="nav navbar-nav">
    <li class="dropdown">
      <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Dropdown<span class="caret"></span></a>
      <ul class="dropdown-menu">

        <!-- this dropdown menu item looks right -->
        <li><a href="#">Foo</a></li>

        <!-- this dropdown menu item (a logout form) does not -->
        <li><form action="/logout" method="post"><button type="submit" class="btn btn-link navbar-btn navbar-link">Log off</button></form></li>

      </ul>
    </li>
  </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

但它没有正确的风格.

如何使其与正常下拉链接匹配?我希望我不需要手动调整css,并且有一个内置的方法来做到这一点?

html css twitter-bootstrap twitter-bootstrap-3

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

使用EF Core在运行时确定正在使用哪个db提供程序

在我们的ASP.NET Core和EF Core系统中,我们对系统的不同部分使用不同的数据库.我需要能够在运行时告诉使用哪个数据库提供程序,因为有些东西需要考虑到这一点.

在启动期间,SQL Server有这样的:

  services.AddDbContext<MyContext>(
    options => options.UseSqlServer(config.GetConnectionString("DefaultConnection"))
  );
Run Code Online (Sandbox Code Playgroud)

或者这适用于SQLite:

  services.AddDbContext<MyContext>(
    options => options.UseSqlite(config.GetConnectionString("DefaultConnection"))
  );
Run Code Online (Sandbox Code Playgroud)

关键是正在使用哪个数据库的知识,包含在系统内的某个地方.

在系统的某个任意点,我如何确定我正在使用哪个数据库?我可以访问MyContext.那里有什么可以揭示这些信息吗?

c# asp.net entity-framework entity-framework-core asp.net-core

5
推荐指数
2
解决办法
1370
查看次数

如何在 EF Core 中获取导航集合属性的原始值?

我的 EF Core 实体:

public class Order {
    public string Code { get; set; }  
    public ICollection<LineItem> LineItems { get; set; }  
}
Run Code Online (Sandbox Code Playgroud)

我可以使用以下方法获取该属性的原始值Code

context.Entry(myOrder).OriginalValues["Code"]
Run Code Online (Sandbox Code Playgroud)

但如果我尝试对LineItems导航集合属性进行此操作,则会抛出以下错误:

The property LineItems on entity type Order is being accessed using the 'Property' method, but is defined in the model as a navigation property. Use either the 'Reference' or 'Collection' method to access navigation properties.

该异常消息并不涉及我可以找到的方法。

那么如何获取导航集合属性的原始值呢?

c# entity-framework dbcontext entity-framework-core

5
推荐指数
0
解决办法
3053
查看次数

如何最好地在两个ASP.NET Core服务器应用程序之间通信?

我有两个ASP.NET Core Web应用程序(在不同的物理服务器上),并且都使用EF Core。尽管两者都是“服务器”,但是一个也从另一个服务器收集数据(即其中一个也是“客户端”)。

ASP.NET Core有所不同,因为没有“ MVC”和“ WebAPI”,它们将两者结合在一起。我不确定要使用哪些新API。

我应该如何将数据从一个转移到另一个?

我最初的想法是“客户端”应用程序具有经过身份验证和授权的GET操作,该操作返回数据。但是如何?它可以直接返回EF实体,还是我负责向JSON进行序列化或从JSON序列化?它应该返回IActionResult还是其他?是常规请求还是AJAX请求?OWIN是否与此有关?

ASP.NET Core现在有可用的任何智能技术吗?我不需要解决方案,只需要正确方向的一些指示即可。

c# asp.net asp.net-core-mvc asp.net-core asp.net-core-webapi

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

如何在 ASP.NET Core 中手动注册 FluentValidation 验证器?

我正在使用带有内置容器的 ASP.NET Core。

报名时应该做像这样

services
  .AddMvc()
  .AddFluentValidation(fv => fv.RegisterValidatorsFromAssemblyContaining<Startup>())
Run Code Online (Sandbox Code Playgroud)

这会自动 1) 配置 FluentValidation,以及 2) 注册在程序集中找到的所有验证器。

但我想手动注册我的验证器。我怎么做?

c# fluentvalidation asp.net-core

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

依赖于 IRazorViewEngine 真实实例的单元测试

我需要将视图渲染为字符串(以电子邮件形式发送)。我正在使用这个实现

我想对其进行单元测试,而不需要完整的 ASP.NET Core 环境。所以我必须创建一个IRazorViewEngine.

默认实现是RazorViewEngine. 我有一个大型构造函数,因为每个参数都需要创建,并且每个参数都有一个大型构造函数,等等(我无法模拟它,我需要一个实时实例。)

当然有更简单的方法来获取实例吗?

(在 Core 之前,我可以使用ViewEngines.Engines。也许 Core 有类似的东西?)

c# nunit asp.net-core-mvc asp.net-core

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

以编程方式运行 NUnit 测试装置

我经常想要执行快速测试,并在 LINQPad 中对其进行编码。

所以我有一个Main()切入点。我可以让 NUnit 从那里以编程方式“运行”一个装置吗?

using NUnit.Framework;

public class Runner
{

  public static void Main()
  {
    //what do I do here?
  }

  [TestFixture]
  public class Foo
  {

    [Test]
    public void TestSomething()
    {
      // test something
    }

  }

}
Run Code Online (Sandbox Code Playgroud)

c# nunit

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

带有标识的 ASP.NET Core 2.0 中的 Cookie 到期

环境:ASP.NET Core 2.0,带有 cookie 的标识。

Startup.ConfigureServices()那里是这样的:

services.ConfigureApplicationCookie(options => {
  options.ExpireTimeSpan = TimeSpan.FromDays(14);
  options.Cookie.Expiration = TimeSpan.FromDays(14);
});
Run Code Online (Sandbox Code Playgroud)

第一个来自CookieAuthenticationOptions. 第二个来自CookieBuilder. 文档还提到Microsoft.AspNetCore.Http.CookieOptions.Expires(尽管它在该 lambda 中不可用)。

这些有什么区别?在 Core2 中设置到期时间的正确方法是什么?

.net asp.net asp.net-identity asp.net-core asp.net-core-2.0

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

msbuild的GenerateRuntimeConfigurationFiles的目的是什么?

我将netcore1.1项目升级到新的VS2017/csproj.

仅在我的测试项目中,它补充说:

<PropertyGroup>
  <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

我做了一些挖掘,发现它在bin目录中生成这些文件:

  • ProjectName.Tests.runtimeconfig.json
  • ProjectName.Tests.runtimeconfig.dev.json

这个设置和这些文件是什么,为什么我需要它们?

为什么他们只为我的测试项目生成?

msbuild csproj .net-core visual-studio-2017

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