0
我使用JsonConvert.SerializeObject得到很奇怪的行爲。使用JsonConvert.SerializeObject的序列化問題(服務器上缺少的屬性)
我有一個方法看起來像以下:
public class ServiceController : ApiController
{
public object GetJSONConnectedResponse(object input)
{
return JsonConvert.SerializeObject(input, Formatting.Indented,
new JsonSerializerSettings()
{
ReferenceLoopHandling = ReferenceLoopHandling.Serialize
});
}
public object GetMediaGallery(int? id)
{
try
{
return GetJSONConnectedResponse(GalleryBLL.GetMediaGallery(id));
}
catch (Exception exc)
{
LogBLL.LogException(exc, HttpContext.Current.Request.RawUrl);
return null;
}
}
}
正如你所看到的,我使用MVC的Web API從我使用在客戶端的JavaScript查詢AJAX型數據的服務應用程序。
方法GetMediaGallery返回一個保持器類中的下列結構組成:
public class MediaGalleryHolder
{
public List<DB_Image> Images { get; set; }
public List<string> SpinFrames { get; set; }
public string FlyoverVideo { get; set; }
}
DB_Images是一個複雜的實體,其通過我調用存儲過程在一個業務邏輯方法填充。在這個複雜的實體上,我添加了2個額外的屬性。
public partial class DB_Image
{
public string FullPath { get; set; }
public string ThumbPath { get; set; }
}
出於某種原因,我的本地機器上,結果序列化正確(增加兩個2個額外的屬性),但在服務器上的這些額外的屬性不添加到結果(我知道他們是居住,但從未序列化)。
這是某種JSON.NET或MVC Web API版本問題,我該如何去解決或解決這個問題?
任何幫助將不勝感激!
最佳,
tribe84
您是否檢查是否從服務器上的存儲過程中獲取數據? – Suhas
是的,它的字面上相同的代碼,連接到同一個數據庫(來自不同的服務器)。 – tribe84
你確定你已經安裝了相同版本的MVC?你確定它是你的應用程序正在使用的嗎? – Chris