2

基于现有 MVC3 项目创建了一个具有 Web 角色的新云服务项目。当我尝试在azure 计算模拟器网站中执行 web 角色时,工作正常,除了任何图像或 css 样式导致页面样式减少。当我尝试通过浏览器上的直接 URL 访问任何这些丢失的资源(例如 css 或图像文件)时,只会收到“内部服务器错误”。

我检查了 cloudService 项目下的 obj 文件夹,尽管存在所有视图和 dll,但当我在计算模拟器中运行项目时,Content 文件夹(css 和图像应该驻留的位置)是空的,但是当我执行时它被填充针对云的部署。

由于之前对论坛的调查,我检查并重新检查了这些文件是否具有“BuildAction=Content”,并且静态内容模块安装在我的本地 IIS 中,但没有得到肯定的结果。

我正在使用 Azure 工具 1.7 和 VS 2010

更新: 当尝试在模拟器中启动 Web 角色时(在 VS2010 中按下播放按钮),windows 应用程序事件日志中出现两个似乎与问题有关的警告(两个警告都起源于IIS Express)。

这是警告(首先是原始西班牙语版本,后来是个人英文翻译)

"El Directorio especificado para almacenar en caché el contenido comprimido C:\Users\dgarcia\AppData\Local\dftmp\Resources\c122a014-7804-49ec-b59f-c9f23c924050\temp\temp\RoleTemp\iisexpress\IIS 临时压缩文件\d42ecaeb -eabb-4dd2-89b8-aecd01f36ba3 no es válido. La compresión estática se está deshabilitando。”

“为缓存压缩内容指定的目录 [非常长的临时路径] 无效。正在禁用静态压缩。”

(2 秒后发出第二次警告)

“错误 del módulo FailedRequestTracing al crear el Directorio '\?\C:\Users\dgarcia\AppData\Local\dftmp\Resources\c122a014-7804-49ec-b59f-c9f23c924050\directory\DiagnosticStore\FailedReqLogFiles\Web\deployment17(8) .CloudService.BRAINVT.Web_IN_0_Web\'。No se generarán registros hasta que se corrija estuación。El problema se produjo al menos 1 veces en los últimos 5 minutos。El dato es el error。"

“模块 FailedRequestTracing 创建目录时出错 [奇怪的超长路径]。在纠正情况之前不会生成更多日志。在过去 5 分钟内至少发生 1 次问题。数据是错误 (?)。”

UPDATE2: 假设 httpCompression 是根本问题,尝试更改此设置的目录属性以指向像 c:\temp 这样的路径,该路径对所有人都具有开放权限(不幸的是,这不能在项目的 web.config 文件中完成,必须完成在 IIS Express 中通过 de appcmd命令行工具)只是发现 Azure Compute Emulator 为每个覆盖 IIS express 的全局配置的 WebRole 生成自己的 applicationHost.config 文件,因此覆盖了我更改的设置

4

3 回答 3

2

终于解决了。我对解决此类问题的试验/错误方法不满意,我更愿意了解根本原因,但这是导致其起作用的过程:

  1. 在我的解决方案中删除并重新创建了云服务项目(不确定这是否有关系)

  2. 将我的 MVC 项目(基于 Web 角色的项目)的开发服务器从 IIS Express 更改为内置“Cassini”。这收回了我在模拟器中的静态内容(哇!)

  3. 在那之后,我知道我需要 IIS Express 功能来测试我的项目的所有部分,然后改回 IIS Express 并且……天哪!静态内容仍然存在。

这适用于两台不同的机器。如前所述,我最好找到根本原因,但目前一切正常。

于 2012-06-29T06:58:04.273 回答
2

如果文件丢失,您应该收到File Not Found错误,而不是Internal Server Error。如果您在部署到云时看到包中的文件,这意味着您的 VS 设置应该没问题。

我建议您查看事件日志(应用程序日志)。您可以通过配置诊断或通过远程桌面连接来执行此操作。如果发生了其他事情,您应该在事件日志中看到描述问题的 ASP.NET 警告。

于 2012-06-25T09:48:28.177 回答
0

看起来像本地 IIS 设置问题 - 您能否尝试http://technet.microsoft.com/en-us/library/cc735199(v=ws.10).aspx上的建议来更改压缩设置并重试。

于 2012-06-25T11:33:44.670 回答