我的大部分项目一直使用 .NET Core 3.1,但目前有一个现有项目使用 .NET Framework 4.6.1
我在实现对 .NET Framework 4.6.1 的依赖注入时遇到困难,不确定我哪里做错了。
这是我到目前为止的理解和所做的:
这就是 .NET Core 3.1 中添加依赖注入的方式
启动.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
RegisterServices(services);
ServiceProvider = services.BuildServiceProvider();
}
private void RegisterServices(IServiceCollection services)
{
services.AddOptions();
services.AddTransient<IMemberServices, MemberService>();
}
Run Code Online (Sandbox Code Playgroud)
如何在 .NET Framework 4.6.1 中添加 IMemberServices 与 MemberService 的依赖关系
全局.asax.cs
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
//What to write here?
}
}
Run Code Online (Sandbox Code Playgroud) c# dependency-injection .net-framework-version .net-core asp.net-core
基于此页面,我正在尝试制作一个使用流畅验证的剃刀页面。它似乎已经检查过,但我不确定为什么错误消息不会显示。
这是我到目前为止所做的:
cshtml.cs:
CreateCommandValidator CreateValidator = new CreateCommandValidator();
var createCheck = CreateValidator.Validate(NewItem);
foreach (ValidationFailure fail in createCheck.Errors)
{
ModelState.AddModelError(fail.PropertyName, fail.ErrorMessage);
}
return Page();
Run Code Online (Sandbox Code Playgroud)
.cshtml:
<label class="col-form-label">Name</label>
<input asp-for="NewItem.Name" type="text" class="form-control mb-2"/>
<span asp-validation-for="NewItem.Name" class="text-danger"></span>
Run Code Online (Sandbox Code Playgroud)
创建命令验证器:
RuleFor
(Item => Item.Name)
.NotEmpty().WithMessage("The name cannot be empty")
.Length(1, 100);
Run Code Online (Sandbox Code Playgroud)
ValidationFailure 能够检测到错误消息,但不确定为什么它不会显示在页面上。有什么想法吗?提前致谢!
error-handling fluentvalidation razor asp.net-core razor-pages