私はこの問題を劇的に変更しましたが、ここではそれが続きます。私はすべてがうまくいくIPカムからmjpegストリームを読んでいます。しかし、今私が受け取るすべてのフレーム(stream_NewFrameを参照)に、このイメージをクライアントにプッシュしたいと思います。しかし、私はHttpContext.Currentにアクセスする方法を把握していないように見えます。誰かがHttpContextコンテキストにアクセスする方法を知っていますか?ProcessRequest関数の内部で行うことができますか?私はここに明白な何かが不足していると思うが、私は何を理解することができない!あなたの時間をありがとう。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;
}
}
}