Flex+IIS與Flex+Visual Studio中輸出Word文檔的區別與疑問(學習筆記)

使用Flex實現輸出Word文檔,我利用了一個asp文檔,當我在IIS中發佈後利用URLRequest發送請求,代碼如下:

var request:URLRequest=new URLRequest("http://localhost:2625/DotNetSetvices/Stations/ExportStationInfo.aspx");


運行後能夠調試並正常執行,然而當我不添加IP地址等,

var request:URLRequest=new URLRequest("DotNetSetvices/Stations/ExportStationInfo.aspx");

再次運行就出現如下錯誤:

------------------------------------------

“/WebGIS/DotNetSetvices”應用程序中的服務器錯誤。

檢索 COM 類工廠中 CLSID 爲 {000209FF-0000-0000-C000-000000000046} 的組件時失敗,原因是出現以下錯誤: 80070005。

說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以瞭解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。 

異常詳細信息: System.UnauthorizedAccessException: 檢索 COM 類工廠中 CLSID 爲 {000209FF-0000-0000-C000-000000000046} 的組件時失敗,原因是出現以下錯誤: 80070005。 

-------------------------------------------

經過了解,IIS中使用的用戶是Administrator,而Visual Studio使用的是當前用戶,兩者對Word組件的使用權限不同,

 {000209FF-0000-0000-C000-000000000046} 就指的是Microsoft Office。

-----------------------------
解決辦法:控制面板-管理工具-組件服務-計算機-我的電腦-DCOM配置,找到Microsoft Office Word 97-2003文檔,右鍵屬性,有如下圖,切換到“安全”選項卡,將“啓動和激活權限”與“訪問權限”自定義編輯,添加用戶Everyone,並將所有權限加上,應用即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章