我正在构建一个将在Azure上运行的应用程序。我的Visual Studio解决方案包含多个Azure角色项目。在本地调试时,我使用Azure计算模拟器。
要开始调试,请按以下步骤操作:
现在发生的是模拟器/ vs2010启动我的Web角色和辅助角色,即使我现在只对调试单个辅助角色感兴趣。通常在我的worker角色中编写一些后台处理代码时,我有兴趣在不启动Web角色的情况下单步执行该代码,也可以启动Internet Explorer等。
是否有一种方便的方法可以让调试器只启动一个角色实例而不是所有角色实例?
我正在考虑在我的Console Application类型的解决方案中创建一个单独的项目,我在其中加载与我的worker角色相同的程序集并执行相同的代码。
答案 0 :(得分:7)
模拟器(类似于Azure本身)仅适用于“云服务”的概念。因此,当您启动w / debug时,它将启动您的Cloud Service(.ccproj)项目中定义的任何内容。这模仿Azure 100%,这就是它出现的原因,但我绝对可以看到你的场景会有所帮助。
根据您的需求,很少有选择。
创建第二个解决方案文件,在此处创建新的云服务,添加您的项目。 我喜欢这个选项,因为项目/角色本身保持不变。
Stuart在我面前建议,创建第二个Cloud Project,设置为startup,运行它。
与上面类似,创建第二个项目,但不要担心启动。您可以右键单击任何项目,转到Debug并选择 start w / debugging 并实现F5的功能而不将F5绑定到此解决方案
答案 1 :(得分:4)
我认为你可以通过以下方式做到这一点:
这将挑出你感兴趣的工人
答案 2 :(得分:-3)
更简单的解决方案是打开ServiceConfiguration.cscfg文件,并将“Instances> Count”属性设置为“0”,用于您不想运行的所有角色(这仅适用于计算机 - 模拟器,而不是在天蓝色的云上)。
这样,您可以保持解决方案的完整性和配置的安全性,同时在运行时从计算机模拟器中省略它们。