asp.net mvc应用程序下来

时间:2012-11-12 18:11:53

标签: asp.net-mvc api

我有一个名为API Web的Live网站,使用ASP.NET MVC 4构建。 此应用程序将为其他网站提供JavaScript文件。 我有20个网站要求使用JavaScript。

但是,有时这个API Web正在崩溃,我很难再次使用该应用程序。 我不知道为什么会这样,我怎么能解决这个问题?

修改

这是控制器,如果请求路径的网站说http://api.example.com/get/js/folderA?js=jquery.js 该应用程序将返回一个JavaScript内容。 但是,请求网站加载速度会变慢。我认为如果API Web请求太多,它将会崩溃(瓶颈问题)。

public ActionResult js(string id, string js) {
            string fileLocation = Server.MapPath("~/content/" + id + "/js/" + CryptKeys.Decrypt(js) + "");

            string contentType = "text/javascript";
            var file = System.IO.File.Open(fileLocation, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
            var stream = (Stream)(file);

            return new FileStreamResult(stream, contentType);

        }

1 个答案:

答案 0 :(得分:0)

有可能您没有关闭System.IO.File.Open类打开的文件流,这可能导致下一次调用以在抛出异常时返回相同的文件。而且由于未处理异常,最终可能会导致网站关闭。

您是否在事件查看器中检查了错误日志?

根据您在下面的输入,您可以尝试这段代码吗?请注意我添加的using

public ActionResult js(string id, string js) {
        string fileLocation = Server.MapPath("~/content/" + id + "/js/" + CryptKeys.Decrypt(js) + "");

        string contentType = "text/javascript";
        using(var file = System.IO.File.Open(fileLocation, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
        {
            var stream = (Stream)(file);

            return new FileStreamResult(stream, contentType);
        }

    }