我得到的錯誤,當我用天藍色的緩存,但不使用HttpRuntime.Cache:爲什麼無法在Azure緩存中序列化System.Web.Services.Protocols.LogicalMethodInfo?
類型「System.Web.Services.Protocols.LogicalMethodInfo」不能被序列化。考慮使用DataContractAttribute屬性標記它,並使用DataMemberAttribute屬性標記要序列化的所有成員。如果類型是一個集合,請考慮使用CollectionDataContractAttribute來標記它。有關其他支持的類型,請參閱Microsoft .NET Framework文檔。
搜索後,我注意到這篇文章,說
What is the default serialization used by the ASP.net HttpRuntime.Cache
示例代碼「HttpRuntime.Cache完全不序列化數據」:
protected void Page_Load(object sender, EventArgs e)
{
List<myclass> items = new List<myclass>();
MyClass item1 = new MyClass() { ID = 1 };
items.Add(item1);
HttpRuntime.Cache.Insert("test1", items); //working
DataCache cache = new DataCache("default");
cache.CreateRegion("reg");
cache.Put("test2", items, "reg");//error
}
}
public class MyClass
{
public MyClass()
{
Type myType = typeof(MyService);
MethodInfo myMethodInfo = myType.GetMethod("Add");
_log = new **LogicalMethodInfo**(myMethodInfo);
}
public int ID { get; set; }
public **LogicalMethodInfo** _log;
}
public class MyService
{
public int Add(int xValue, int yValue)
{
return (xValue + yValue);
}
}
請學習使用markdown –