如何使用ASP.NET MVC项目启动Azure模拟器

时间:2013-02-05 18:03:44

标签: asp.net .net asp.net-mvc azure azure-storage

我有一个使用Azure存储的ASP.NET MVC项目,并已成功部署到Azure。但是,在本地运行项目时,它不会启动Azure模拟器。

我找到启动Azure模拟器的唯一方法是制作“Windows Azure云服务”快捷方式并手动运行。

有没有办法确保在我启动应用程序时Azure模拟器运行?

2 个答案:

答案 0 :(得分:3)

我在与MVC网站相同的项目中有一个云服务。既然你已经创建了MVC项目,试试看......

  1. 将新的Cloud项目添加到您的解决方案中。添加时不要选择任何角色。
  2. 添加云项目后,右键单击角色并选择...
    • 在解决方案中添加“Web角色项目......”在那里,您将能够选择MVC项目。
  3. 最后但同样重要的是,将Cloud项目设置为启动项目,它将在本地运行时启动相应的计算和存储模拟器。
  4. 我刚刚在VS2012中验证了这一点,自从我完成它已经过了几个月。

答案 1 :(得分:0)

如果您的解决方案中没有云服务项目,那可能会非常棘手。你可以做一些事情:

  1. 计算机启动时启动存储模拟器。
  2. 了解在使用云服务启动项目时VS是如何做到的。
  3. 开始调试应用程序时,在代码中启动存储模拟器。你可以做的是使用像这样的代码在你的Application_Start()方法中启动存储模拟器进程[这显然是一个黑客,并不确定一个优雅的:)]:

            protected void Application_Start()
            {
                AreaRegistration.RegisterAllAreas();
                WebApiConfig.Register(GlobalConfiguration.Configuration);
                FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
                RouteConfig.RegisterRoutes(RouteTable.Routes);
                BundleConfig.RegisterBundles(BundleTable.Bundles);
    #if (DEBUG)
                {
                    Process.Start(@"C:\Program Files\Microsoft SDKs\Windows Azure\Emulator\devstore\DSServiceLDB.exe");
    
                }
    #endif
            }
    
  4. 我的猜测是,你需要以管理员身份运行VS.我尝试了上面的代码,它工作正常。上面的代码假定您的存储模拟器使用LocalDB进行存储。