나는이 질문을 극적으로 바꿨지만, 여기에 간다. 나는 모든 것이 잘되는 IP 캠에서 mjpeg 스트림을 읽고있다. 그러나 이제는 모든 프레임에서 (stream_NewFrame 참조)이 이미지를 클라이언트에 전달하려고합니다. 하지만 HttpContext.Current 액세스하는 방법을 알아낼 수가 없어 항상 그 함수 안에 null. 누구든지 ProcessRequest 함수 내부에서 할 수있는 것처럼 HttpContext 컨텍스트에 액세스하는 방법을 알고 있습니까? 나는 명백한 무엇인가 여기에서 놓치고있다. 그러나 나는 무엇이 있는지에 관해 이해할 수 없다! 시간 내 주셔서 감사합니다.ashx 처리기, void 내부의 HttpContext.Current에 액세스
public class ImageHandler : IHttpHandler, IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
//Get parameter
string Url = context.Request.QueryString["url"];
string Username = context.Request.QueryString["username"];
string Password = context.Request.QueryString["password"];
//Set cache
HttpResponse Response = HttpContext.Current.Response;
Response.Expires = 0;
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "multipart/x-mixed-replace";
// create MJPEG video source
MJPEGStream stream = new MJPEGStream(string.Format("{0}/video.cgi?user={1}&pwd={2}", Url, Username, Password));
stream.NewFrame += new NewFrameEventHandler(stream_NewFrame);
stream.Start();
}
private void stream_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
Image img = eventArgs.Frame;
byte[] b = GetImageBytes(eventArgs.Frame);
HttpContext.Current.Response.OutputStream.Write(b, 0, b.Length);
}
public bool IsReusable
{
get
{
return false;
}
}
}