我有一个asp.net 网站。我每秒通过计时器尽可能多次更新图像,图像大小为 720x576。我通过在 img 控件完成加载前一个图像后启动下一个 ashx 页面调用以获取我的图像来控制何时可以更新图像(我在“onload”事件中执行此操作)。
我的 w3wp.exe 目前为 140,000k,下降到 130,000。经常在这两个值之间上下波动。
当我正在使用 1 个用户进行测试并且我在一个便宜的 VPS 共享托管环境中时,我的问题是当我上线时 w3wp.exe 是否会变得无法控制,或者通过升级我的服务器包(主要是增加 RAM)有助于保持这一切都在控制 na 多用户环境中?
这是我的 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;
}
}
}
谢谢