Suggestion for ServiceStack.NET
本文关键字:NET ServiceStack for Suggestion | 更新日期: 2023-09-27 18:00:00
建议将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的利益。但在客户端和服务器上使用相同的验证迫使我这样做。
如果有一种优雅的方法来解决这个问题,我很想听听。
不幸的是,您无法设置项目范围的命名空间别名。但是,您可以尝试为您的验证器类编写一个模板,该模板内置了样板代码,您可以轻松地单击Add->NewItem->YourValidatorTemplate。