MarkItUp.SingleUserBlog/UI/AsyncTrackBackWorker.cs
(完整代码) 1KBusing System;
using System.Text ;
using System.Threading ;
using System.Text.RegularExpressions ;
namespace MarkItUp.SingleUserBlog.UI
{
public class AsyncTrackBackWorker {
public AsyncTrackBackWorker() {}
public static IAsyncResult BeginTrackBack(string postUrl, string title, string excerpt, string url, string blogName, AsyncCallback callback) {
TrackBackPingResult result = new TrackBackPingResult(postUrl, title, excerpt, url, blogName, callback) ;
if ( !result.IsCompleted ) {
ThreadPool.QueueUserWorkItem(new WaitCallback(ThreadPool_WaitCallback), result);
}
return result ;
}
public static string EndTrackBack(IAsyncResult ar) {
TrackBackPingResult result = ar as TrackBackPingResult;
if ( result != null ) {
return result.Result;
} else {
throw new Exception("EndInvoke was called with the wrong async result");
}
}
private static void ThreadPool_WaitCallback(object state) {
TrackBackPingResult result = state as TrackBackPingResult;
if ( result != null )
result.currentThread = Thread.CurrentThread;
try {
result.DoWork() ;
} catch (ThreadAbortException) {
Thread.ResetAbort();
} finally {
result.currentThread = null;
}
result.Complete();
}
}
}
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
