2013-07-09 108 views
0

我正在嘗試使用會話[「emailcc3」]在Windows服務應用程序..但它顯示我在這種情況下不可用的錯誤會話....有沒有其他方法可以做到這一點?會話在Windows服務應用程序中不起作用?

這是我的代碼:

foreach (DataRow newRow in employee.Rows) 
       { 
        num = num - 1; 



        if (num == 4) 
        { 
         Session["emailto"] = newRow["EMAILID"].ToString(); 
        } 
        if (num == 3) 
        { 
         Session["emailcc1"] = newRow["EMAILID"].ToString(); 
        } 
        if (num == 2) 
        { 
         Session["emailcc2"] = newRow["EMAILID"].ToString(); 
        } 
        if (num == 1) 
        { 
         Session["emailcc3"] = newRow["EMAILID"].ToString(); 
        } 

       } 

       string emailto = Session["emailto"].ToString(); 

       string emailcc1 = Session["emailcc1"].ToString(); 

       string emailcc2 = Session["emailcc2"].ToString(); 

       string emailcc3 = Session["emailcc3"].ToString(); 
+2

「windows服務應用程序」和ASP.Net標記? 'Session'明顯不在ASP.Net應用程序之外 - 但不清楚你實際使用的是什麼,以及你想通過使用Session來達到什麼目的。 –

回答

0

如果我把胡亂猜測,我認爲所有你想要的是這樣的:

string emailto = null; 
string emailcc1 = null; 
string emailcc2 = null; 
string emailcc3 = null; 

foreach (DataRow newRow in employee.Rows) 
{ 
    num = num - 1; 
    switch (num) 
    { 
     case 4: 
      emailto = newRow["EMAILID"].ToString(); 
      break; 
     case 3: 
      emailcc1 = newRow["EMAILID"].ToString(); 
      break; 
     case 2: 
      emailcc2 = newRow["EMAILID"].ToString(); 
      break; 
     case 1: 
      emailcc3 = newRow["EMAILID"].ToString(); 
      break; 
     default: 
      //Do something here? 
    } 
} 

我不知道爲什麼你在使用Session所有 - 除非您使用它,因爲它允許您即時聲明變量,就像它一樣。

相關問題