mco*_*uka 2 .net c# web-services
我试图在收益率返回后执行代码.我有调用另一个方法的WebMethod,我想在将值返回给WebMethod之后做一些工作人员(执行方法setNextCampaign())这是我的代码:
[WebMethod]
public long NextCall(long UserID)
{
    CampaignManagerExtended cacheCampaignManager = fillCampaignManager(false);
    return cacheCampaignManager.NextCall(UserID).First();
}
public IEnumerable<long> NextCall(long UserID)
        {
            UserExtended ue = null;
            try
            {
                if (!CacheUsers.ContainsKey(UserID))
                    AddUser(UserID);
                ue = CacheUsers.First(p => p.Key == UserID).Value;
                if (ue.NextCampaign != null)
                {
                    QueueItemPersonal qp = ue.NextFromPersonalQueue();
                    if (qp != null)
                    {
                        yield return qp.CampaignPersonID;
                    }
                    else 
                    { 
                        QueueItemScheduled qs = ue.NextCampaign.NextFromScheduleQueue();
                        if (qs != null)
                        {
                            yield return qs.CampaignPersonID;
                        }
                        else 
                        { 
                            QueueItemGeneral qg = ue.NextCampaign.NextFromGeneralQueue();
                            if (qg != null)
                            {
                                yield return qg.CampaignPersonID;
                            }                  
                            else
                                 yield return 0;
                        }
                    }
                    ue.NextCampaign.fillGeneralQueue();
                    ue.setNextCampaign();
                }
                else
                    yield return 0;
            }
            //catch
            //{
            //    yield return 0;
            //}
            finally
            {
            }
        }
有任何想法吗?
而不是这个
<some stuff>;
yield return <something>;
<some epilog stuff that should be executed after yield>
做这个:
try
{
  <some stuff>;
  yield return <something>;
}
finally
{
  <some epilog stuff that should be executed after yield>
}
| 归档时间: | 
 | 
| 查看次数: | 5321 次 | 
| 最近记录: |