《Windows Azure Platform 系列文章目录》
前一章里我们已经介绍了如何使用Windows Azure Startup来执行额外的配置任务,比如注册COM组件和注册Windows Service。
另外,在Windows Azure SDK 1.5的时候,有新的API可以确定当前是否是在模拟器下运行。在.NET里有新的RoleEnvironment.IsEmulated静态属性。
但是如果你在本地调试模拟器时,想在测试的时候不想执行Startup的步骤。我们改怎么办?
我们看下面这个Startup节点:
<Startup> <Task executionContext="elevated" commandLine="startup\startup.cmd"> <Environment> <Variable name="EMULATED"> <RoleInstanceValue xpath="/RoleEnvironment/Deployment/@emulated" /> </Variable> </Environment> </Task> </Startup>
注意xpath 属性。你可以提供很多种有用的path,将帮助你获得如端点的端口、本地存储资源的位置或配置的setting值。详细信息请查看MSDN文档:“xPath Values in Windows Azure” 和“WebRole Schema”。
好,接下来是重点:如果我们在模拟器环境时,不想执行Startup的步骤,那么我们就修改(commandLine的内容)startup文件夹下的startup.cmd文件。
在startup.cmd的第一行输入以下内容
if "%EMULATED%"=="true" goto :EOF
上面的代码意思是:如果侦测到是在模拟器状态,也就是ture,就立刻退出。
参考内容:http://blog.smarx.com/posts/skipping-windows-azure-startup-tasks-when-running-in-the-emulator
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构