我有一个asp.net网站。我通过计时器每秒钟更新一次图像,图像大小为720x576。我控制何时可以通过启动下一个ashx页面调用来更新图像,以便在img控件完成加载上一个图像后获取我的图像(我在' onload'事件中执行此操作)。
我的w3wp.exe目前为140,000k,下降到130,000。经常在这两个值之间上下移动。
当我正在测试1个用户并且因为我在廉价的VPS共享托管环境中,我的问题是当我去实时w3wp.exe变得无法控制或将通过升级我的服务器包(主要是增加RAM)的事实有助于在多用户环境下控制这一切吗?
这是我的Javascript:
var timer3;
var intervalLive = 50;
function play2() {
if (timer3) window.clearTimeout(timer3);
swapImages3();
}
function setImageSrc3(src) {
_imgLive.src = src;
timer3 = window.setTimeout(swapImages3, intervalLive);
}
function swapImages3() {
var imgCached = new Image();
imgCached.onload = function () {
setImageSrc3(imgCached.src);
};
imgCached.onerror = function () {
setImageSrc3("http://a URL/images/ERROR.jpg");
};
imgCached.onload = function () {
setImageSrc3(imgCached.src);
};
imgCached.src = null;
imgCached.src = 'http://A URL/Cloud/LiveXP.ashx?id=' + new Date().getTime() + '&Alias=' + alias;
}
这是在我的ashx页面中:
public class Live : IHttpHandler {
DAL dal = new DAL();
static byte[] StandardError = Shared.ERROR;
public void ProcessRequest(HttpContext context)
{
byte[] data = null;
context.Response.ContentType = "image/jpg";
try
{
if (context.Request.QueryString["Alias"] != null)
{
data = Shared.GetFrame(context.Request.QueryString["Alias"].ToString());
context.Response.BinaryWrite(data);
}
}
catch (Exception ex)
{
data = StandardError;
dal.AddError(ex.ToString());
}
finally
{
context.Response.BinaryWrite(data);
}
}
public bool IsReusable {
get {
return true;
}
}
}
感谢