在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