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