gpt4 book ai didi

c# - 无法从不同的应用程序读取 azure 缓存数据

转载 作者:行者123 更新时间:2023-12-03 06:05:21 26 4
gpt4 key购买 nike

我正在使用以下代码进行 azure 缓存,它工作正常......

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

}

[TestClass]
public class AzureCachingTests1
{
private static DataCacheFactory _factory;

[TestInitialize]
public void Setup()
{

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


[TestMethod]
public void TestMethod1()
{

DataCache cache = _factory.GetDefaultCache();

var person = new Person { First = "Jane", Last = "doe" };
const string key = "mykey";

cache.Put(key, person, TimeSpan.FromMinutes(10));
var data = (Person)cache.Get(key);
Assert.AreEqual("Jane", data.First);

}
}

现在,在 Visual Studio 的另一个实例中,我运行以下代码...

[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 引发异常:System.Runtime.Serialization.SerializationException:找不到程序集“AzureCaching1,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”。

我的 Person 类是可序列化的。为什么我无法查询我在 AzureCaching1 中缓存的 AzureCaching 中的缓存?

请帮忙。谢谢

最佳答案

除非您引用了 AzureCachingTests1 所在的项目,否则您的测试不知道如何反序列化它从缓存中检索的项目。您有两个具有相同名称和相同属性的类,但它们不是同一个类。

因为您正在编写测试,所以您需要从 AzureCachingTests 所在的项目引用 AzureCachingTests1 所在的项目,并删除 AzureCachingTests 项目中 Person 的类定义(并确保将其转换为也是正确的类)。

如果这不是一个测试,而您只是想在两个或多个项目之间共享一个类,那么最好的想法是创建第三个项目,其中包含两个项目共有的所有类,在这种情况下,它只是人员类别。

关于c# - 无法从不同的应用程序读取 azure 缓存数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10628655/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com