2014-02-10 3 views
1

우리는 CustomUserSession과 함께 Redis ICacheClient를 사용하려고하지만 사용자 정의 속성은 저장되지 않습니다. 문제는 serializer로 만든 json에있는 것 같습니다. 여기ServiceStack에서 CustomUserSession serialize

테스트 :

public class CustomUserSession : AuthUserSession 
{ 
    public string Test { get; set; } 
} 

[TestFixture] 
public class UserSessionJsonTest 
{ 
    private CustomUserSession session; 

    [Test] 
    public void CanSerializeToJson() 
    { 
     session = new CustomUserSession() 
     { 
      UserName = "Ivan", 
      Address = "Address1", 
      Test = "123" 
     }; 
     JsConfig<CustomUserSession>.ExcludeTypeInfo = false; 
     JsConfig<CustomUserSession>.IncludeTypeInfo = true; 
     var json = JsonSerializer.SerializeToString(session); 
     Debug.WriteLine(json); 
     Assert.That(json.Contains("123")); 
    } 
} 

테스트, 전혀 암시하지 직렬화입니까? V4에서

답변

2

는 속성이 상속되고 AuthUserSessionserialization is opt-in, 당신은 당신이 [DataMember]로 직렬화 할 각 속성을 표시 할 필요가 DataContract, 예컨대 때문에 :

public class TestUserSession : AuthUserSession 
{ 
    [DataMember] 
    public string Test { get; set; } 
} 
+1

들으을! ServiceStack 지원은 놀랍습니다! –

관련 문제