2013-02-18 2 views
3

Silverlight에서 ServiceStack.NET을 사용하는 방법 중 하나는 링크 된 프로젝트 추가 기능을 사용하는 것입니다. 이렇게하면 두 개의 동기 프로젝트와 해당 소스 (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에서 변경된 것이 있습니다.

하지만 반드시 분리 된 네임 스페이스에 있어야합니까?

코드 파일을 깨끗하게 유지하기 위해 servicestack에 관심이 있다고 생각합니다. 그러나 클라이언트와 서버에서 동일한 유효성 검사를 사용하면이 작업을 수행해야합니다.

이 문제를 해결할 수있는 우아한 방법이 있으면 알려주세요.

+0

더 좋은 해결책이 있습니까? – MVCible

답변

2

불행히도 can't set a project-wide namespace alias입니다. 그러나 보일러 플레이트 코드가 내장 된 write a template for your validator class을 시도해 볼 수 있으며 쉽게 추가 -> 새 항목 -> 유효성 검사기 템플릿을 클릭 할 수 있습니다.

+0

대단히 감사합니다. 좋은 아이디어입니다! 나는 지금 Resharper File Templates를 대신 사용하고 있지만, 거의 동일합니다. 어쨌든 나는이 문제를 줄이기 때문에 가능한 경우 네임 스페이스를 변경하는 servicestack의 작성자/개발자를 제안합니다. – MVCible