Open f7q opened 7 years ago
ASP.NET CoreはMVCパターンであり、MVVMパターンは適応し難い
追記
CancellationTokenとasync TaskでWeb APIはベストプラクティスらしい。
WPFのDataGridと連携するにはこれが使えそう
IHttpContextAccessorのモックの作り方
以下のような感じで使用する。
using Moq;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Http.Authentication;
{
var authenticationManagerMock = new Mock<AuthenticationManager>();
var httpContextMock = new Mock<HttpContext>();
httpContextMock.Setup(x => x.Authentication).Returns(authenticationManagerMock.Object);
var httpContextAccessorMock = new Mock<IHttpContextAccessor>();
httpContextAccessorMock.Setup(x => x.HttpContext).Returns(httpContextMock.Object);
httpContextAccessorMock.Setup(x => x.HttpContext.User.Identity.Name).Returns("Siddhartha");
var httpContextMockObject = httpContextAccessorMock.Object;
// services.AddScoped(x => httpContextAccessorMock);
}
アプリケーション本体への処理
DIコンテナの注入を行う箇所 デフォルトのコンテナだと上書きなので、トラブルになることは少ない。
service.AddDBContext();
service.AddMvc();
など、必要になるクラスの注入を行う。
ミドルウェア層の処理を定義する箇所 app.UseMvc();
など
パイプラインの流れを意識して定義しないと、上手く機能しない。
各バージョンでも仕様は大きく変更されていないため、ASP.NET Coreの中核となる仕様として押さえるべき箇所。
基礎技術の強化