1: 无法直接写log文件
azure里面无法直接操作文件系统,所以原来直接写log的功能不能使用。
解决方法:写到TableStorage里面。或者写到sql azure的log表里面。
2:无法生成pdf报表。
显示有内存错误,Out of memory。 是GDI的bug。暂时也不要指望能解决,特别是使用第三方生成pdf的控件的(就连微软自己的rdlc报表也出错)。
解决方法:修改生成pdf的代码段。
我用的另外的方法:在第三方服务器上生成Pdf文件的stream,然后回传给azure。
3:aspx/ascx文件的代码文件声明CodeFile=‘’无法编译
提示找不到xxx.cs文件。
解决方法:还是用回CodeBehind的标记吧。
4:修改默认主页。
在web.config里面
<system.webServer>
<defaultDocument>
<files>
<clear/>
<add value="index.aspx"/>
</files>
</defaultDocument>
</system.webServer>
5:staging server
每次发布程序其实都要花不少时间,30分钟左右,还有出错的可能。
所以,先发布到staging server,测试无误,然后在“Swap”一下,把staging变成production。
6:staging/production server不同的数据库配置
不能放在web.config文件中,因为这个文件要参与编译,生成包,然后发布。
解决:在 ServiceConfiguration.cscfg文件中定义链接字符串。这个文件可以在外部修改,不参与编译过程。这样不同的server可以有不同的设置。
7:增量发布
意思是,如果只有一个dll需要重新发布,怎么办。
现在看来没法办,只能整体编译。
还在想,如果把dll当成blob对象存在container里面,到时候掉出来,实例化,然后加载实现,不知道怎么样。
8:workrole和queue。
处理比较复杂的操作时,可以考虑这个模型。
相关:上次写的 一开始用windows azure发布程序时遇到的问题。
http://www.cnblogs.com/dlwang2002/archive/2010/07/08/1773429.html