断开每个循环(WCF 服务器/客户端)

本文关键字:服务器 客户端 WCF 循环 断开 | 更新日期: 2023-09-27 18:33:14

我有一个简单的代码,它从服务器发送到客户端值以计数。此循环计数为 9 个值,从 1 到 9。对于 1、3 或 9 个客户来说,一切都很好。但是对于其他数量的客户端,当i_wiersz的值为 9 并且 foreach 循环想要向另一个客户端服务器发送一些东西时会崩溃。何使,与任何数量的客户合作?

我尝试将 foreach 循环放入其中:

if(i_wiersz == 9)
   break;

但得到错误:错误

控件不能离开匿名方法或 lambda 的主体 表达

我的代码:

bool spr_wiersz(int wiersz, int kolumna) //chck_roow(int roow, int column)
{
   wys_tab();
   int i_wiersz = 0;
   bool[] result = new bool[9];
   while (i_wiersz < 9)
   {
      subscribers.ForEach(delegate(ImessageCallback callback)
      {
          if (((ICommunicationObject)callback).State == CommunicationState.Opened)
          {
              result[i_wiersz] = callback.spr_wiersz(wiersz, kolumna, i_wiersz);
              i_wiersz++;
          }
      });
      for (int j = 0; j < i_wiersz; j++)
      {
          if (result[j] == false)
          {
             return false;
          }
      }
   }
   return true;
}

断开每个循环(WCF 服务器/客户端)

你不能简单地将其转换为传统的foreach吗?

  foreach (IMessageCallback callback in subscribers)
  {
      if (((ICommunicationObject)callback).State == CommunicationState.Opened)
      {
          result[i_wiersz] = callback.spr_wiersz(wiersz, kolumna, i_wiersz);
          i_wiersz++;
          if (i_wiersz == 9)
              break;
      }
  }