【发布时间】:2014-01-20 20:21:25
【问题描述】:
我想知道以下情况的首选架构是什么:
我需要有一个 .NET 应用程序,它可以同时将多个数据文件批量上传到 SQL Server。这将从 WPF 应用程序调用,该应用程序允许用户选择文件和目标表,以及报告每次上传的各个进度(包括错误消息)。我绝对没有问题为任何这些编写代码。但是,要求用户能够完全关闭 WPF 应用程序并继续上载过程。此外,如果用户从同一台计算机重新启动 WPF 应用程序,它应该能够获取现有上传的句柄并报告状态,就好像程序从未关闭一样。
我的问题是实现这一目标的方法是什么,哪种方法看起来最标准/最合适?
我考虑过并没有真正关闭 WPF 应用程序而是隐藏所有窗口,但这似乎是个骗局。最好在进行上传的服务器上创建 WCF 服务并简单地上传文件?我不认为我可以这样做并报告进度%等。本地运行的 Windows 服务怎么样,能达到类似的效果吗?我应该考虑 MemoryMappedFiles 吗?
欣赏你所有的想法。
【问题讨论】:
-
目前在工作中,我为类似问题设计了一个解决方案;我们有一个必须执行耗时任务的 Web 界面。我最终让 Web 界面向 MsSQL 数据库(它已经拥有)写入了一个请求,并让 Windows 服务轮询新请求并每 5 秒处理一次。
标签: c# .net wpf architecture