代码之家  ›  专栏  ›  技术社区  ›  MVCible

ServiceStack.NET的建议

  •  3
  • MVCible  · 技术社区  · 11 年前

    建议将ServiceStack.NET与Silverlight一起使用的方法是使用链接项目加载项。这就启用了两个同步项目及其源代码,一个用于Silverlight,另一个用于.NET 3.5+。

    但当涉及到验证时,这就有点烦人了。 ServiceStack正在使用FluentValidation,这很酷。但它改变了名称空间。 因此,我最终得出:

    using MyNamespace.Model;
    
    // HERE ----------------------------
    #if SILVERLIGHT
    using FluentValidation;
    #else
    using ServiceStack.FluentValidation;
    #endif
    //TO HERE------------------------
    
    namespace HR.RoBP.Contracts.Validators.Model
    {
        public class CustomerValidator : AbstractValidator<Customer>
        {
            public CustomerValidator()
            {
                RuleFor(r => r.Name).NotEmpty().NotNull();
            }
        }
    }
    

    这并不多,但每次编写一个新的验证器时,它都会变得非常引人注目。我经常忘记它,编译,出现错误,修复它。 我知道ServiceStack.NET上的FluentValidation发生了一些变化。

    但它必须在一个单独的命名空间中吗?

    我认为保持代码文件的干净符合servicestack的利益。 但在客户端和服务器上使用相同的验证迫使我这样做。

    如果有一种优雅的方法来解决这个问题,我很想听听。

    1 回复  |  直到 11 年前
        1
  •  2
  •   Community Egal    7 年前

    你很不幸 can't set a project-wide namespace alias 。不过你可以试着 write a template for your validator class 内置了样板代码,您可以轻松地单击“添加”->新建项目->您的验证程序模板。