English 中文(简体)
ASP. 记录表中存档站处理的净页数
原标题:ASP.Net Page for file upload stops processing in middle of log statement

我们有一个非常简单的伙伴关系。 将文件上载到我们的网络服务器的净页面。 该网页没有控制——客户利用这一控制,每晚自动向我们发送文件。

有时,档案似乎没有提交给我们,但客户报告说,他们已经发送了档案。

我们在该网页上添加了一些伐木声明,发现了一些非常奇怪的事情。 该页在记录表中停止执行。 没有例外、公正和死亡。

这里指的是:

protected void Page_Load(object sender, EventArgs e) {
    try {
        // record that request came in at all
        log.Debug("Update Inventory page requested through HTTP {2} on {0} {1}", DateTime.Now.ToShortDateString(), DateTime.Now.ToLongTimeString(), IsPostBack ? "POST" : "GET");

        // make sure directory exists
        string basePath = Server.MapPath("~/admin/uploads/");
        log.Debug("Saving to folder {0}", basePath);

        if (!Directory.Exists(basePath)) {
            log.Debug("Creating folder {0}", basePath);
            Directory.CreateDirectory(basePath);
        }

    // generate a unique file name
        string fileName = DateTime.Now.Ticks.ToString() + ".dat";
        string path = basePath + fileName;
        log.Debug("Filename to save is {0}", fileName);

    // record initial bytes of stream/file
    StreamReader reader = new StreamReader(stream);
    string fileContents = reader.ReadToEnd();

    log.Debug("File received by GET is " + fileContents.Length + " characters long and begins with: " 
        + Environment.NewLine + fileContents.Substring(0, Math.Min(fileContents.Length, 1000)));

    // write out file
    File.WriteAllText(path, fileContents);

        log.Debug("Update Inventory page processing finished.");
        // trap for and record any and all exceptions
    } 
    catch (Exception ex) {
        log.Debug(ex);
    }
}

处理似乎在记录表中死亡,该记录表将文件字体变量的长度和第一部分投入使用。 这一过程失败时发生的伐木:

2010-08-02 02:46:01.7342|DEBUG|UpdateInventory|Update Inventory page requested through HTTP GET on 8/2/2010 2:46:01 AM
2010-08-02 02:46:01.7655|DEBUG|UpdateInventory|Saving to folder c:hostingsitesmusicgoround.comwwwrootadminuploads
2010-08-02 02:46:01.7811|DEBUG|UpdateInventory|Filename to save is 634163139617811250.dat
2010-08-02 02:48:02.3905|DEBUG|UpdateInventory|

我真的不理解要做些什么。

我假设,如果档案的传送有错误,则从读者那里提取一个例外。 Read ToEnd()行。 如果不是例外,我将期望继续处理页面,但我只能收到部分档案(在这种情况下,它应当记录一些)。

伐木单仅能进入一个地貌变量,而且是在一场尝试中捕获。 记录仪是我们使用的伐木成分,我们通过《普通编码法》的简单校车提供。 因此,我们相信,伐木部分会受到更多的或更少的防弹——我们当然不会看到我们在这里使用它会造成问题的任何东西。

因此,交易是什么? 为什么地球上的这个网页能够站起来,停止处理。

我们获得半成品的伐木声明,似乎表明伐木系统存在一种错误,但似乎如此不可能,而且我们有国家行车监督记录仪的内部伐木,也没有报告任何问题。

最佳回答

最可能的候选人是:

2010-08-02 02:48:02.3905|DEBUG|UpdateInventory|

原因如下:

log.Debug(ex);

I.e. 它是个例外,但记录记录并不有用。 为什么不要让你试图把标识水平变成一个比值,例如: 将例外伐木量改为错误:

log.Error(ex);

这样,你就可以看到,它是否实际上 throw弃了一种例外情况,而只是记录记录不正确。

问题回答

暂无回答




相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

How to Add script codes before the </body> tag ASP.NET

Heres the problem, In Masterpage, the google analytics code were pasted before the end of body tag. In ASPX page, I need to generate a script (google addItem tracker) using codebehind ClientScript ...

Transaction handling with TransactionScope

I am implementing Transaction using TransactionScope with the help this MSDN article http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope.aspx I just want to confirm that is ...

System.Web.Mvc.Controller Initialize

i have the following base controller... public class BaseController : Controller { protected override void Initialize(System.Web.Routing.RequestContext requestContext) { if (...

Microsoft.Contracts namespace

For what it is necessary Microsoft.Contracts namespace in asp.net? I mean, in what cases I could write using Microsoft.Contracts;?

Separator line in ASP.NET

I d like to add a simple separator line in an aspx web form. Does anyone know how? It sounds easy enough, but still I can t manage to find how to do it.. 10x!

热门标签