2016-03-02 29 views
0
[InvalidOperationException: Invalid operation. The connection is closed.] 
System.Data.SqlClient.SqlConnection.GetOpenConnection() +2417814 
System.Data.SqlClient.SqlConnection.get_ServerVersion() +9 

,而我是我的序列化對象,我得到這個錯誤。InvalidOperationException:操作無效。連接已關閉。在Asp.Net MVC試圖序列化類對象

public string SerializeObj(TemplateData obj) 
    { 
     string data = null; 
     try 
     { 
      JavaScriptSerializer js = new JavaScriptSerializer(); 
      ** data = js.Serialize(obj); [This is what i am finding issue is][1]** 
     } 
     catch (InvalidOperationException iopException) 
     { 
      string exception = iopException.Data.ToString(); 
      return exception; 
     } 
     return data; 

請注意:我沒有使用數據庫連接時,我序列化我的對象。

任何人都可以建議我如何解決這個問題?

當我序列化我的目標;它把我的命名TemplateData類。

public List<TemplateData> List(string myKey) 
    { 
     TemplateBusinessLogic businessLogic = new TemplateBusinessLogic(); 
     TemplateData templateData = new TemplateData(); 
     templateData.key = myKey; 
      string postKey = businessLogic.SerializeObj(templateData); 
     string listUrl = MandrillAutomation.Helper.Config.ConfigManager.ConstantsConfig.GetValue("listUrl"); 
     string requestContent = HttpRequestUrl(listUrl, "POST", postKey); 
     List<TemplateData> listContent = businessLogic.DeserializeObj<List<TemplateData>>(requestContent); // DESERIALIZE OBJECT 

     for (int i = 0; i <= listContent.Count-1; i++) 
     { 
      FileHelper fileHelp = new FileHelper(); 
      fileHelp.SaveTemplate(listContent[i].name, listContent[i].code); 
     } 
     //SaveTemplate(listContent); //Save Templates into desire format 

     log.Info(listContent.Count + " Templates avilable"); 
     log.Info("[ "); 
     log.Info("Templates :" + GetTemplateName(listContent)); 
     log.Info(" ]"); 
     foreach (var content in listContent) 
     { 
      log.Info("Name of Template : " + content.name + " || Slug of Template : " + content.slug + " || in Account : " + myKey); 
     } 
     return listContent; 
    } 

,我有如下類TemplateData:

public class TemplateData :DbContext 
{ 
    public string key {get; set;} 
    public string name { get; set; } 
    public string slug { get; set; } 
    public string fromEmail { get; set; } 
    public string fromName { get; set; } 
    public string subject { get; set; } 
    public string code { get; set; } 
    public string text { get; set; } 
    public string publish { get; set; } 
    public string[] labels { get; set; } 
    public string created_at{ get; set; } 
    public string updated_at { get; set; } 
} 
+0

什麼是調用此方法以及如何通過你'obj'的值的代碼? –

+0

它有我的TemplateData類型。等一下,我是把它添加到我的問題 –

+0

我複製你的模式和'SerializeObj()'方法來一個新的項目,運行它並沒有錯誤。代碼中一定有其他東西,你沒有告訴我們這是造成這個問題的原因。 –

回答

0

我只是從我的TemplateData類刪除DbContext。 現在沒有錯誤。 :)

相關問題