using Axibug.Event; namespace Axibug.Runtime { public class WebRequestSuccessEventArgs : LogicEventArgs { private byte[] m_WebResponseBytes = null; /// /// Web 请求成功事件编号。 /// public static readonly int EventId = typeof(WebRequestSuccessEventArgs).GetHashCode(); /// /// 获取 Web 请求成功事件编号。 /// public override int Id { get { return EventId; } } /// /// 获取 Web 请求任务的序列编号。 /// public int SerialId { get; private set; } /// /// 获取 Web 请求地址。 /// public string WebRequestUri { get; private set; } /// /// 获取用户自定义数据。 /// public object UserData { get; private set; } /// /// 获取 Web 响应的数据流。 /// /// Web 响应的数据流。 public byte[] GetWebResponseBytes() { return m_WebResponseBytes; } /// /// 创建 Web 请求成功事件。 /// /// 内部事件。 /// 创建的 Web 请求成功事件。 public static WebRequestSuccessEventArgs Create(WebRequest.WebRequestSuccessEventArgs e) { WWWFormInfo wwwFormInfo = (WWWFormInfo)e.UserData; WebRequestSuccessEventArgs webRequestSuccessEventArgs = ReferencePool.Acquire(); webRequestSuccessEventArgs.SerialId = e.SerialId; webRequestSuccessEventArgs.WebRequestUri = e.WebRequestUri; webRequestSuccessEventArgs.m_WebResponseBytes = e.GetWebResponseBytes(); webRequestSuccessEventArgs.UserData = wwwFormInfo.UserData; ReferencePool.Release(wwwFormInfo); return webRequestSuccessEventArgs; } public override void Clear() { SerialId = 0; WebRequestUri = null; UserData = null; } } }