2012-05-17 4 views
0

다른 응용 프로그램에서 푸른 캐시 된 데이터를 읽을 수 없습니다 그리고 그것을 잘 작동합니다 System.Runtime.Seriali : ...나는 푸른 캐싱을 수행하는 다음 코드를 사용하고

[TestClass] 
public class AzureCachingTests 
{ 
    private static DataCacheFactory _factory; 
    [TestInitialize] 
    public void Setup() 
    { 

     _factory = new DataCacheFactory(new DataCacheFactoryConfiguration("mycache")); 
    } 


    [TestMethod] 
    public void TestMethod1() 
    { 

     DataCache cache = _factory.GetDefaultCache(); 
     const string key = "mykey"; 
     var data = (Person) cache.Get(key); <----- Error here... <-------- 
     Assert.AreEqual("Jane", data.First); 

    } 
} 

[Serializable] 
public class Person 
{ 
    public string First { set; get; } 
    public string Last { set; get; } 

} 

이 시간, 나는 다음과 같은 오류가 ...

시험 방법 AzureCaching.AzureCachingTests.TestMethod1은 예외를 던졌다 zation.SerializationException : 어셈블리 'AzureCaching1, 버전 = 1.0.0.0, Culture = neutral, PublicKeyToken = null'을 (를) 찾을 수 없습니다.

내 클래스 Person은 Serializable입니다. AzureCaching1에서 캐싱 한 AzureCaching에서 캐시를 쿼리 할 수없는 이유는 무엇입니까 ??

도와주세요. 감사합니다

답변

2

AzureCachingTests1 프로젝트가 참조 된 경우가 아니면 캐시에서 검색하는 항목을 deserialize하는 방법을 알지 못합니다. 이름이 같고 속성이 같은 두 클래스가 있지만 클래스가 같지 않습니다.

테스트를 작성 중이므로 AzureCachingTests1이 AzureCachingTests가있는 프로젝트에서 참조해야하고 AzureCachingTests 프로젝트에서 Person에 대한 클래스 정의를 삭제해야합니다. 올바른 수업도).

두 개 이상의 프로젝트간에 클래스를 공유하려는 경우 가장 좋은 방법은 두 클래스 모두에게 공통적 인 클래스를 모두 포함하는 세 번째 프로젝트를 만드는 것입니다.이 경우에는 Person 클래스.

관련 문제