在Silverlight中使用ServiceStack.NET的建议方式是使用Linked-Project插件。这将启用两个同步项目及其来源,一个用于Silverlight,一个用于.NET 3.5+。对ServiceStack.NET的建议
但是,当涉及到验证时,这会让人有些恼火。 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();
}
}
}
这并不多,但每次写一个新的验证,当它变得非常annoing。我经常忘记它,编译,有错误,修复它。 我知道ServiceStack.NET上的FluentValidation有一些变化。
但是它必须在一个单独的命名空间吗?
我认为它有助于维护代码文件的清洁。 但在客户端和服务器上使用相同的验证迫使我这样做。
如果有一个优雅的方法来解决这个问题,我很乐意听到它。
有没有更好的解决方案呢? – MVCible 2013-02-25 15:32:52