小编TNC*_*key的帖子

在ASP.NET MVC 4架构注意事项中上载和处理CSV文件

我正在开发一个导入和处理CSV文件的ASP.NET MVC 4应用程序.我正在使用标准表单和控制器进行上传.以下是我目前正在做的事情的概述:

控制器逻辑

public ActionResult ImportRecords(HttpPostedFileBase importFile){

    var fp = Path.Combine(HttpContext.Server.MapPath("~/ImportUploads"), Path.GetFileName(uploadFile.FileName));
    uploadFile.SaveAs(fp);

    var fileIn = new FileInfo(fp);
    var reader = fileIn.OpenText();
     var tfp = new TextFieldParser(reader) {TextFieldType = FieldType.Delimited, Delimiters = new[] {","}};
    while(!tfp.EndOfData){
        //Parse records into domain object and save to database
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

HTML

@using (Html.BeginForm("ImportRecords", "Import", FormMethod.Post, new { @id = "upldFrm", @enctype = "multipart/form-data" }))
{
    <input id="uploadFile" name="uploadFile" type="file" />
    <input id="subButton" type="submit" value="UploadFile" title="Upload File" />
}
Run Code Online (Sandbox Code Playgroud)

导入文件可以包含大量记录(平均40K +),并且可能需要相当长的时间才能完成.对于处理的每个文件,我宁愿没有用户在导入屏幕上坐5分钟以上.我考虑过添加一个控制台应用程序来监视新文件的uploads文件夹,并在添加新内容时进行处理,但希望看到我在开始沿着这条路径旅行之前从社区收到了什么输入.

有没有更有效的方法来处理此操作?

有没有办法执行此操作,允许用户继续他/她的快乐方式,然后在处理完成后通知用户?

c# asp.net-mvc file-upload

8
推荐指数
1
解决办法
3万
查看次数

使用ASP.NET MVC4和Knockout进行字段级更改跟踪

想知道是否有人有跟踪现场级变更跟踪的经验?我们正在努力辨别最终用户跟踪任何和所有模型修改的最简单/最佳方式.我正在使用ASP.NET MVC4,Knockout和Knockout Editables.

更新:由于跟踪功能的要求,仅检测对象是否脏是不够的,因为我需要确定已更改的内容和值.我选择使用for循环来迭代模型属性,使用KO Editables.hasChanges()函数检测更改,并使用当前值和.oldValue()(KO Editable)构建自定义日志对象.

asp.net-mvc knockout.js knockout-mvc kolite

1
推荐指数
1
解决办法
2688
查看次数