模型的命名空间(ASP MVC3)在WorkerRole中不可见

时间:2012-05-16 16:45:22

标签: c# visual-studio-2010 azure azure-worker-roles azure-web-roles

我正在Windows Azure中创建我的第一个应用程序,但我遇到了一些问题。

这是我所做过的思考清单:

  • 添加新解决方案
  • 添加新的MyApp.WebPage(asp.net mvc3)项目
  • 添加Windows Azure项目,并向其添加一个WorkerRole
  • 将我的asp.net mvc3项目作为新的Web角色从解决方案添加到Windows Azure Project
  • 将MyClass.cs类添加到我的WorkerRole

...并在MyClass中添加:

using MyApp.WebPage.Models;

所以我有这个错误:

The type of namespace name 'WebPage' does not exist in the namespace 'MyApp' (are you missing an assemblu reference?)

我是Azure的初学者,所以我不知道如何解决这个问题。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

您的辅助角色是一组完全独立于您的Web角色代码的代码,最终部署到不同的Windows Server 2008虚拟机集(所有这些都在同一部署中,并且能够通过tcp在vm实例之间进行通信或HTTP)。您的Web角色包含所有asp.net mvc代码,因此可以访问其所有库。

Web角色和辅助角色只需定义与Windows Server 2008虚拟机一起部署的代码,其中Web角色已启用IIS。如果将所有代码放在与Web角色关联的项目中,则所有代码都将可见。如果需要在Web角色和辅助角色之间共享代码,则应将该代码放在自己的dll中并将其包含在两个项目中。