我尝试创建一个能够在Windows Azure云中运行的应用程序,但也可以在本地服务器上运行。
应用程序的大多数部分都可以正常工作。但是有些功能我不知道如何在两者上运行它们,例如:
用户可以上传附件。在Azure中,文件存储在Windows Azure存储中,在本地服务器上,它们应存储在本地文件夹中。
我不知道如何管理它。
答案 0 :(得分:2)
我建议您了解控制反转,因为您可以根据选定的托管平台切换文件存储和其他内容。
例如,您有一个名为IFileStorage
的接口,具有此类方法(以及更多):
IFileStorage
的两个实现:
在一天结束时,你会这样做:
IFileStorage storage = DependencyManager.Resolve<IFileStorage>();
storage.Create("SomeFile.txt");
storage.Append("SomeFile.txt", "Hello world");
控制配置的一些反转将根据托管平台映射适当的IFileStorage
实现。
如果您想了解有关控制反转的更多信息:
最后,如果你认为这是正确的方法,请检查Castle Windsor,这是一个伟大的,稳定的,稳定的反转控制(和其他东西)框架在.NET之上: