小编Gil*_*rdo的帖子

如何在c#应用程序中使用FluentValidation

我正在构建具有以下层的应用程序

数据 - 实体框架上下文实体 - 实体框架POCO对象服务 - 由WebApi调用以加载/保存实体WebApi -

现在我相信我应该将我的业务逻辑放入服务层,因为我有实体服务,例如,我有Family对象和Family Service.

要使用FluentValidation创建验证对象,似乎必须从AbstractValidator继承,因为我的服务已经从一个对象继承这是不可能的(或者是它)?

我想我唯一的选择是在服务层创建一个FamilyValidator并从服务中调用此验证器?

fluentValidation是我最好的选择,还是我在这里混淆了什么?

c# entity-framework business-logic fluentvalidation asp.net-web-api

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

angular2 中不再存在的 routerState.parent 的替代方案

在 angular2 rc5 中,我有这个代码。

this.router.routerState.parent(this.route).params.forEach((params: Params) => {
    url = params['url'];
    id = +params['id'];
});
Run Code Online (Sandbox Code Playgroud)

我不得不使用它,因为我在我的路由器上低了两个级别,并且由于某种原因这样做不起作用。

this.route.params.forEach((params: Params) => {
        url = params['url'];
        id = +params['id'];
    });
Run Code Online (Sandbox Code Playgroud)

我仍然很乐意这样做,但是在 angular2 中,routerState 上.parent不再存在该方法。

我可以实现我想要的,但使用 angular 2.0.0 中可用的不同方法吗?

html javascript angularjs angular2-routing angular

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

如何处理所有控制器上的 null 模型 aspnet core c#

我为我的 Web api 设置了很多模型,但没有一个模型具有针对它们的任何属性。这是一个简单的控制器示例

public async Task<IActionResult> PutAsync([FromBody] ChartModel model)
{
    ....
}
Run Code Online (Sandbox Code Playgroud)

现在,如果用户尝试在模型中上传无效数据类型(例如,在数字属性中键入字母),那么我的控制器会收到 null。

处理这个问题最好、最简单的方法是什么?如果这些特定方法的模型为 null,我想返回 BadRequest。

我可以向每个方法添加如下所示的内容。

if (model == null)
    return new BadRequestObject("Invalid model");
Run Code Online (Sandbox Code Playgroud)

但我确信一定有一些我可以做的事情,而且更干净整洁,我只是不知道是什么

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

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

openiddict 令牌的默认生命周期值是多少

非常简单的问题,我只想知道 openiddict 3.0+ 中设置的默认值是什么

代币是

  • 访问令牌
  • 授权令牌
  • 设备代码令牌
  • 身份令牌
  • 刷新令牌
  • 用户代码令牌

提前致谢。

.net c# openid openid-connect openiddict

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

Hangfire 在不同的 Web 服务器上运行重复作业

我们有多个网络服务器运行我们的网站,并带有负载平衡器,因此根据负载将用户定向到不同的服务器。每台服务器上的每个实例的代码都是相同的,并且我们有运行的重复作业。显然我们不希望作业同时在两台服务器上运行。

当作业运行时,hangfire 是否会实施锁定,以便它不会自动再次运行?

目前我们已经在每个运行的方法上都有这个[Hangfire.DisableConcurrentExecution(60 * 60 * 5)],这会阻止两台服务器同时运行代码吗?

.net c# hangfire hangfire-sql

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

JavaFX文本双下划线间距

我在JavaFX应用程序中也有一个标签,我也需要应用双下划线。我知道这可能与基本属性有关,但是相反,我将以下CSS应用于标签,这使它具有双下划线的“效果”

.double-underline {
    -fx-border-color: #FFFFFF;
    -fx-border-width: 0 0 1 0;
    -fx-underline: true;
}
Run Code Online (Sandbox Code Playgroud)

现在这确实给了我想要的效果,但是如果可能的话,我需要增加文本和实际下划线之间的间距。我怎样才能做到这一点?

如果存在我可以应用的“双”边框样式,则会更容易,但是我不知道

这是现在的样子

javafx下划线图像之前

我也希望它看起来更像这样

javafx下划线后的图像

提前致谢

css java javafx javafx-2

2
推荐指数
1
解决办法
7313
查看次数

具有通用接口和组成的简单注入器-不注册接口

我正在从继承转向合成,如您从此处看到的/sf/ask/2075720741/

现在,我已经完成了所有工作,但是简单的注入器希望我手动注册传入的每种类型的每个接口。这是简化的代码。

我有IBaseEntityService,它由BaseEntityService实现

public interface IEntityBaseService<T> where T : class, IEntityBase
{
    IDataContext Context { get; }

    Task<ICollection<T>> GetAllAsync();

    Task<T> GetAsync(long id);
}

public class EntityBaseService<T> : IEntityBaseService<T>
    where T : class, IEntityBase
{
    protected IDataContext _context;

    public IDataContext Context
    {
        get
        {
            return _context;
        }
    }

    public EntityBaseService(IDataContext context)
    {
        _context = context;
    }

    public async Task<ICollection<T>> GetAllAsync()
    {
        return await _context.Set<T>().ToListAsync();
    }

    public Task<T> GetAsync(long id)
    {
        return _context.Set<T>().Where(e => e.Id == id).FirstOrDefaultAsync();
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,我有一个IValidationService和ValidationService实现了

public …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net composition simple-injector

2
推荐指数
1
解决办法
1007
查看次数

使用字符串与属性名称进行角度绑定

是否可以绑定(单向和双向)角度对象但使用动态字符串。

所以而不是做

{{ myObject.name }}
Run Code Online (Sandbox Code Playgroud)

我可以做到这一点,效果很好

{{ myObject['name'] }}
Run Code Online (Sandbox Code Playgroud)

但是如果属性名称位于范围内的另一个变量中怎么办?这不起作用

{{ myObject['{{ anotherVar }}'] }}
Run Code Online (Sandbox Code Playgroud)

这样的事情可能吗?

javascript angularjs angularjs-scope

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

如何使用AutoMapper映射子对象?

我不确定我是否在思考这个问题,但我无法解决这个问题.

我在这里有一个名为Template的父对象

public Template() 
{
    public long Id { get; set; }
    public Scoring SubProperty { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是我的Scoring对象,它是Template的子属性

public enum MyEnum : short 
{
    Basic = 0
}

public Scoring()
{
    public MyEnum Type { get; set; }
    public string Text { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我有一个像我这样定义的TemplateModel,我想转换为

public TemplateModel() 
{
    public long Id { get; set; }
    public string Type { get; set; }
    public string Text { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

在我的AutoMapper配置文件中,我已经设置了这样,将模板转换为TemplateModel.

public class TemplateProfile : …
Run Code Online (Sandbox Code Playgroud)

.net c# automapper automapper-3

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