小编Bla*_*ell的帖子

无法让ConfigurationBuilder从ASP.NET Core 1.0 RC2中的xunit类库中的appsettings.json读取

我试图在XUnit项目中执行以下操作,以获取我的测试应该使用的数据库的连接字符串:

public class TestFixture : IDisposable
{
    public IConfigurationRoot Configuration { get; set; }
    public MyFixture()
    {
        var builder = new ConfigurationBuilder()
            .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
        Configuration = builder.Build();
    }

    public void Dispose()
    {    
    }
}
Run Code Online (Sandbox Code Playgroud)

这很奇怪,因为它在Startup.cs中使用时在WebAPI和MVC模板中完美运行.此外,此代码以前在RC1中使用dnx工作,但现在我将所有内容更新到RC2和Core CLI,它不再能够找到appsettings.jsonxunit类库的根目录中的文件.

这是我的测试类的样子,所以你可以看到我如何调用配置:

public class MyTests : IClassFixture<MyFixture>
{
    private readonly MyFixture _fixture;
    public MyTests(MyFixture fixture)
    {
        this._fixture = fixture;
    }

    [Fact]
    public void TestCase1()
    {
        ICarRepository carRepository = new CarRepository(_fixture.Configuration);
    }
}
Run Code Online (Sandbox Code Playgroud)

asp.net xunit xunit.net xunit2 asp.net-core

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

使用Angular SPA应用程序与IdentityServer4交谈,以获取身份验证/授权,然后与Web API进行通信

我有一个asp.net核心Web API.我目前正在使用Angular 4应用程序直接调用它.

我现在想要添加身份验证和授权层.

我想通过向我的解决方案添加另一个类型的项目(严格意义上为auth)来实现这一点:ASP.NET Core MVC(带有个人用户帐户),然后将IdentityServer4添加到它.计划是使用现有的Identity表来存储用户,角色等.

一旦完成这一切,我对Angular 4 SPA应用程序或任何其他第三方通过IdentityServer应用程序进行身份验证的方式感到有些困惑.我会假设这会返回某种类型的令牌.然后继续使用该令牌调用我原来的Web API项目(即GetCustomers()).

从我做的研究看来,我需要的唯一其他东西是ASP.NET Core中的JWT承载认证.

有人可以提供一些关于如何进行整个过程的链接/信息.没有找到任何通过整个事情的好视频.另外,请确认我所说的上述模式听起来是正确的.

asp.net-identity asp.net-core identityserver4 asp.net-core-webapi angular

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

使用 bootstrap 4 网格系统将单列居中

我正在尝试使用 bootstrap 4 网格系统将单列居中。在引导程序 3 中,我能够做到:

<div class="col-md-10 col-md-offset-2">
</div>
Run Code Online (Sandbox Code Playgroud)

在引导程序 4 中,即使使用新的偏移类:offset-md-2,同样也不起作用。

以下工作,但在页面上有空列感觉不对,只是为了将 col-md-5 居中。

<div class="row">
    <div class="col"></div>
    <div class="col-md-5 align-self-center">
        <img src="img/myimage.gif" style="width: 100%;">
    </div>
    <div class="col"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

css bootstrap-4

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

使用HttpClient和Web API方法[FromBody]参数发布到Web API最终为空

我正在尝试使用HttpClient POST到Web API.当我在Web API的Save方法中放置断点时,[FromBody] Product为null.这意味着我将产品发布到Web API的方式出了问题.有人可以看看下面的代码,看看我可能会出错的地方.我假设它与标题和内容类型有关.

POST从客户端存储库调用Web API,它应该通过JSON传递产品对象:

public async Task<Product> SaveProduct(Product product)
{
    using (var client = new HttpClient())
    {
        client.BaseAddress = new Uri("http://localhost:99999/");
        client.DefaultRequestHeaders.Accept.Clear();
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

        StringContent content = new StringContent(JsonConvert.SerializeObject(product));
        // HTTP POST
        HttpResponseMessage response = await client.PostAsync("api/products/save", content);
        if (response.IsSuccessStatusCode)
        {
            string data = await response.Content.ReadAsStringAsync();
            product = JsonConvert.DeserializeObject<Product>(data);
        }
    }
    return product;
}
Run Code Online (Sandbox Code Playgroud)

Web API控制器方法:

[HttpPost]
[Route("save")]
public IActionResult Save([FromBody]Product product)
{
    if (customer == null)
    {
        return HttpBadRequest();
    }
    _manager.SaveCustomer(product);
    return CreatedAtRoute("Get", new { …
Run Code Online (Sandbox Code Playgroud)

c# asp.net httpclient asp.net-web-api

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

复选框不使用布尔viewmodel属性

我正在使用MVC6并在我的表单中有一个复选框输入字段,但是当提交表单时,复选框的值总是作为false传递给ViewModel:

以下是在我的ViewModel中声明属性的方式:

[Display(Name = "Include Sales Tax")]
public bool IncludeSalesTax { get; set; }
Run Code Online (Sandbox Code Playgroud)

以下是我的MVC6剃刀形式的表单:

<div class="form-group">
    <div class="checkbox">
        <label><input asp-for="IncludeSalesTax" type="checkbox" value="">@Html.DisplayNameFor(m => m.IncludeSalesTax)</label>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我认为以上将是遵循Twitter Bootstrap标准并使用ASP.NET MVC6 asp-for标签进行模型绑定的最佳方式.

当我提交表单时,IncludeSalesTax的值总是为false,即使在选中时也是如此.我究竟做错了什么?

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

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

使用Angular中的Angular Material/Flex-Layout创建具有固定标题,固定侧边栏,固定内容部分的布局

我正在使用Angular w/Angular MaterialFlex Layout

我正在尝试为Web应用程序创建一个与此站点完全相同的布局.注意固定标题,固定侧边栏,固定内容的痛苦.没有使用浏览器滚动,只有div滚动并完全适合浏览器视口.

这是我用来给我基本结构的html:

<md-toolbar color="primary">
  <span>Application Title</span>
</md-toolbar>
  <md-sidenav-container>
    <md-sidenav mode="side" opened="true">Drawer content</md-sidenav>
    <div class="my-content">Main content</div>
  </md-sidenav-container>
Run Code Online (Sandbox Code Playgroud)

另外我设置了以下样式:

    html, body {
      margin: 0;
      width: 100%;
      height: 100%;
      overflow: hidden;
    }
md-sidenav-container, .main-content {
  margin: 0;
  width: 100%;
  height: 100%;
}
Run Code Online (Sandbox Code Playgroud)

我注意到没有页面上的工具栏,一切都很完美.所以我添加了一个填充底部:64px; 到md-sidenav-container,.main-content类.似乎它修复了内容,但不是sidenav.sidenav滚动条仍然在浏览器窗口下方.

如果有人能告诉我如何使用flex指令,我确实已经安装了flex-layout到我的Angular应用程序.否则,普通的CSS也没关系.

css flexbox angular-material2 angular-flex-layout angular

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

升级到ASP.NET Core 2.0后,Web API控制台中的重复信息消息

我将一个Web API项目从ASP.NET Core 1.x升级到ASP.NET Core 2.0,只需极少的代码更改.

运行WebAPI时,命令提示符会像平常一样打开.

但是,每条信息都是重复的.

这是一个ASP.NET Core错误还是升级后我的问题?

更新:

我在Startup.cs配置方法中执行以下操作:

    loggerFactory.AddConsole(Configuration.GetSection("Logging"));
    loggerFactory.AddDebug();
Run Code Online (Sandbox Code Playgroud)

当我删除它没有重复.这不再需要了吗?

c# asp.net-web-api asp.net-core

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

使用Web Deploy在Azure中部署普通的ASP.NET Core 2.2 Web App会引发错误

我通过Visual Studio 2017中的Publish屏幕使用Azure发布了一个asp.net核心Web应用程序.我使用了所有默认设置,但我的应用程序使用了迁移,所以我不得不告诉它在发布配置文件中运行它们.

当我尝试访问该网站时,我得到:
由于发生了内部服务器错误,因此无法显示该页面.

我觉得我需要对连接字符串和ASPNETCORE_ENVIRONMENT变量做些什么.

我仍然拥有创建新的asp.net核心Web应用程序时获得的默认appsettings.json和appsettings.Development.json.appsettings.json指向我的本地开发数据库,​​appsettings.Development.json指向发布配置文件中的azure数据库.

或者发布配置文件是否自动处理连接字符串,我不必执行上述任何操作?

c# azure azure-deployment azure-web-app-service asp.net-core

9
推荐指数
2
解决办法
4659
查看次数

使用 React.StrictMode 标签将 React-Redux 添加到 React 应用程序

<React.StrictMode>默认情况下,最新的 create-react-app标签包裹在组件周围。我看到的每个将 react-redux 添加到应用程序的示例中都没有 React.StrictMode 标签。

这是我所做的:

<Provider store={store}>
  <React.StrictMode>
    <App />
  </React.StrictMode>
</Provider>,
document.getElementById('root')
Run Code Online (Sandbox Code Playgroud)

但是,我总是看到:

<Provider store={store}>
  <App />
</Provider>,
document.getElementById('root')
Run Code Online (Sandbox Code Playgroud)

我阅读了StrictMode的用途。我认为它有助于调试和洞察应用程序中的问题,所以我想在开发时保留它。我所做的是否正确,或者 Provider 是否应该像所有示例中那样完全替换它?

javascript reactjs react-redux

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

将Angular 2与VS2015 Update 2一起使用 - 获取npm -not安装错误

我创建了一个空的核心1.0 Web应用程序,并添加了一个package.json文件,从此URL复制angular2快速启动package.json行.

我不断收到消息Dependencies - 未安装和npm - 未安装.

有谁知道为什么会这样?我是否必须在我的PC上实际安装node.js才能使Visual Studio能够使用它?鲍尔工作完美......

visual-studio node.js angularjs visual-studio-2015 asp.net-core-1.0

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