yield return の後にコードを実行しようとしています。別のメソッドを呼び出す 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
{
}
}
何か案は?