我正在尝试在C#中使用ContinueWith,但它在服务器端无法正常工作,但在localhost正常工作期间
string APIAutoEmailUrl = ConfigurationManager.AppSettings["AutoEmailAPIUrl"].ToString();
string SoAUrl = APIAutoEmailUrl + "/SendSOA";
string PriorUrl = APIAutoEmailUrl + "/SendPriorNotification";
string PostUrl = APIAutoEmailUrl + "/SendPostNotification";
ASCIIEncoding encoding = new ASCIIEncoding();
HttpWebRequest SoARequest = (HttpWebRequest)WebRequest.Create(SoAUrl);
SoARequest.Method = "Post";
SoARequest.ContentLength = 0;
SoARequest.ContentType = "application/json";
var SoA = SoARequest.GetResponseAsync(); //Mohan: Method will not wait for response just trigger and forget
SoA.ContinueWith(Prior =>
{
//Mohan: It will complete first task then it will do second task
ASCIIEncoding encodingPrior = new ASCIIEncoding();
HttpWebRequest PriorRequest = (HttpWebRequest)WebRequest.Create(PriorUrl);
PriorRequest.Method = "Post";
PriorRequest.ContentLength = 0;
PriorRequest.ContentType = "application/json";
var PriorNotification = PriorRequest.GetResponseAsync(); //Mohan: Method will not wait for response just trigger and forget
PriorNotification.ContinueWith(Post =>
{
//Mohan: It will complete first and Second task then it will do Third task
ASCIIEncoding encodingPost= new ASCIIEncoding();
HttpWebRequest PostRequest = (HttpWebRequest)WebRequest.Create(PostUrl);
PostRequest.Method = "Post";
PostRequest.ContentLength = 0;
PostRequest.ContentType = "application/json";
var PostNotification = PostRequest.GetResponseAsync(); //Mohan: Method will not wait for response just trigger and forget
});
});
第一个和第二个任务在服务器端执行,但第三个任务不是在服务器端执行,而是在本地主机正常工作期间。