我收到以下错误:
回收(等待角色启动......正在部署站点。 [2012-12-17T05:30:10Z])
运行一个或多个角色实例是不健康的。 1实例:1 不健康的
我实际上是在尝试将我的Web应用程序转换为云应用程序。
这就是我所做的:
我在我的解决方案中添加了一个云项目, 我添加了一个链接到我的网络应用程序的webrole 我创建了一个sql azure数据库,并将我的整个结构和数据复制到数据库 我在我的webconfig中插入连接字符串并尝试在模拟中运行它,这很好 然后尝试通过创建云服务来部署它,运行构建器来创建包并以“暂存”模式上传包。这是我得到错误的地方。
我尝试创建一个空的云应用并添加默认的webrole并将其加载到云端,这很好用。所以我想,也许我的webrole设置有问题。 我检查了两者之间的区别,我注意到在两个解决方案中都启用了诊断,但是我自己的解决方案中的存储帐户是空的,所以我在这里插入了“UseDevelopmentStorage = true”。这并没有改变任何事情。我还看到了“packages.config”
的不同之处默认角色:
<package id="Microsoft.WindowsAzure.ConfigurationManager" version="1.7.0.0" targetFramework="net40" />
<package id="System.Web.Providers" version="1.1" targetFramework="net40" />
<package id="System.Web.Providers.Core" version="1.0" targetFramework="net40" />
<package id="WindowsAzure.Storage" version="1.7.0.0" targetFramework="net40" />
我有:
<package id="Microsoft.WindowsAzure.ConfigurationManager" version="1.7.0.0" targetFramework="net35" />
<package id="WindowsAzure.Storage" version="1.7.0.0" targetFramework="net35" />
我尝试更改此内容并上传,没有做任何事情
我没有使用辅助角色,我只有一个正在运行的实例(默认情况下相同)
我的应用程序在global.asax中使用一些身份验证,它尝试从User.Identity.Name读取并与数据库中的用户进行比较(此用户插入到sql azure db中)。起初我认为这可能是问题的原因,但即使我注释掉这段代码,应用程序也不会在云上运行。
VM大小很小,信任级别=完全信任
我还看到了我有远程访问参数的设置的一些差异。我尝试删除所有这些只是为了排除问题
我读了一些关于“复制本地是真的”的设置引用,但我不确定这是否会有所不同。
任何想法,因为我真的不知道该怎么做
编辑:
我修改了所有对“copy local is true”的引用,并禁用了诊断,以确保它没有任何问题。
但现在我收到了错误:
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>
有趣的是,在我的webconfig中已经设置了......我只能找到1个webconfig。 我不太确定我做错了什么
答案 0 :(得分:6)
“保持回收”几乎总是意味着应用程序启动时发生了一些异常。您可能无法通过Diagnostics Montor看到任何错误或异常,因为在配置和启动诊断之前可能会发生异常。
我建议您在部署时启用IntelliTrace选项。如果您使用Visual Studio,这很容易做到。然后,您可以通过Visual Studio检索IntelliTrace结果,并找出发生了什么异常。我强烈认为你需要设置Copy Local = true,在azure上有一些参考文献。但是你需要IntelliTrace才能找到它们。
答案 1 :(得分:3)
问题是我有一些引用的项目有app.config文件,其中包含一个到本地数据库的字符串