2011-12-29 3 views
1

Я пытаюсь подключиться к базе данных асинхронно в службе WCF. Но, несмотря на установление «асинхронная обработка = True» в строке соединения я получаюОшибка BeginExecuteReader в службе WCF

System.InvalidOperationException с сообщением BeginExecuteReader: Connection property has not been initialized.

код я использую для подключения к базе данных:

public void Connect() 
{ 
    using (SqlConnection conn = new SqlConnection("Data Source=User12-PC; Initial Catalog = BMS; User Id=sa; Password = pass; Asynchronous Processing=true")) 
    { 
     SqlCommand command = new SqlCommand(); 
     command.CommandText = "Select l.currvalue from" + 
          " advt_ctrl_pts as p inner join advt_log_in_ctrl_pts l" + 
          " on p.registerid = l.regid and p.ddcid = l.ddcid" + 
          " where p.pointid = 5156102" + 
          " order by datetime"; 

     command.CommandType = CommandType.Text; 

     conn.Open(); 
     IAsyncResult result = command.BeginExecuteReader(); //This part is returning exception 
     if (result.IsCompleted) 
     { 
     timer = new Timer(new TimerCallback(onTimerTick), command.EndExecuteReader(result), 5000, 5000); 
     } 
    } 
} 

Не мог бы кто-нибудь рассказать мне, что случилось, что я делаю?

ответ

3

вы не назначал подключение к команде:

SqlCommand command = new SqlCommand(); 
command.Connection = conn; 
+0

Можно также использовать 'новый SqlCommand ("выберите ...", Conn);' и т.д .. –

Смежные вопросы