在Windows Azure和本地服务器上运行ASP.NET应用程序

时间:2011-08-23 09:23:31

标签: c# asp.net-mvc-3 azure

我尝试创建一个能够在Windows Azure云中运行的应用程序,但也可以在本地服务器上运行。

应用程序的大多数部分都可以正常工作。但是有些功能我不知道如何在两者上运行它们,例如:

用户可以上传附件。在Azure中,文件存储在Windows Azure存储中,在本地服务器上,它们应存储在本地文件夹中。

我不知道如何管理它。

1 个答案:

答案 0 :(得分:2)

我建议您了解控制反转,因为您可以根据选定的托管平台切换文件存储和其他内容。

例如,您有一个名为IFileStorage的接口,具有此类方法(以及更多):

  • 创建
  • 追加
  • 删除
  • ...

IFileStorage的两个实现:

  • WinAzureFileStorage
  • DefaultFileStorage

在一天结束时,你会这样做:

IFileStorage storage = DependencyManager.Resolve<IFileStorage>();
storage.Create("SomeFile.txt");
storage.Append("SomeFile.txt", "Hello world");

控制配置的一些反转将根据托管平台映射适当的IFileStorage实现。

如果您想了解有关控制反转的更多信息:

最后,如果你认为这是正确的方法,请检查Castle Windsor,这是一个伟大的,稳定的,稳定的反转控制(和其他东西)框架在.NET之上: