我们有一个非常简单的伙伴关系。 将文件上载到我们的网络服务器的净页面。 该网页没有控制——客户利用这一控制,每晚自动向我们发送文件。
有时,档案似乎没有提交给我们,但客户报告说,他们已经发送了档案。
我们在该网页上添加了一些伐木声明,发现了一些非常奇怪的事情。 该页在记录表中停止执行。 没有例外、公正和死亡。
这里指的是:
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()行。 如果不是例外,我将期望继续处理页面,但我只能收到部分档案(在这种情况下,它应当记录一些)。
伐木单仅能进入一个地貌变量,而且是在一场尝试中捕获。 记录仪是我们使用的伐木成分,我们通过《普通编码法》的简单校车提供。 因此,我们相信,伐木部分会受到更多的或更少的防弹——我们当然不会看到我们在这里使用它会造成问题的任何东西。
因此,交易是什么? 为什么地球上的这个网页能够站起来,停止处理。
我们获得半成品的伐木声明,似乎表明伐木系统存在一种错误,但似乎如此不可能,而且我们有国家行车监督记录仪的内部伐木,也没有报告任何问题。