我现在正在进入MVC,但在我的"要在某些方面学习"列表中,我也有WCF.
我只是想知道WCF是否应该/可以在MVC应用程序中使用?背景是我希望桌面应用程序(.NET 3.5,WPF)与我的MVC网站交互,我想知道在两者之间传输数据的最佳方法是什么.我应该只使用特殊的视图/让控制器返回JSON或XML(使用ContentResult)?
也许更重要的是,反过来说,我可以打电话给特殊控制器吗?不确定授权如何在这样的环境中起作用.我可以使用Windows身份验证或(如果站点正在运行表单身份验证)让用户将他/她的凭据存储在应用程序中,但我基本上会在我的应用程序中创建一个HTTP客户端.所以虽然MVC => Application看起来很简单,但是Application => MVC似乎有点棘手并且可能用于WCF?
我不是试图在这里强制使用WCF,但我只是想知道在MVC应用程序中是否确实存在WCF的良好用例.
来自以下文件File.Move:
请注意,如果您尝试通过将同名文件移动到该目录来替换文件,则会出现IOException.您不能使用Move方法覆盖现有文件.
简而言之,你不能覆盖Move,所以为了方便覆盖Move,我通过做一个File.Copy后面的模仿行为File.Delete.就像是:
if (File.Exists(dstFileName))
{
// System.IO.File.Move cannot be used to overwrite existing files, so we're going
// to simulate that behavior with a Copy & Delete.
File.Copy(procContext.FileName, dstFileName);
File.Delete(procContext.FileName);
}
else
File.Move(procContext.FileName, dstFileName);
Run Code Online (Sandbox Code Playgroud)
我的问题是:是否有任何我需要防范的情况可能会导致源文件被删除而不首先被成功复制?
我从阅读文档中得到的理解是,因为File.Copy它不会返回任何在它不成功的情况下应该抛出异常的东西.有没有人遇到过任何不真实的情况?
无论如何,使用XMLDocument.Save()创建的文件的另一个进程监视可能会遇到部分文件?如果Save()覆盖现有文件会有什么不同吗?