![](/img/trans.png)
[英]Log4net in Crystal reports on Windows Azure with IIS 32
[英]Crystal reports on Windows Azure is not getting displayed
我已經在VS2010 ASP.net C#中編寫了一個Web應用程序,以顯示Crystal報表。 我將此應用程序移至Azure仿真器。 在本地工作正常。 但是,在使用Azure部署它之后,就不會顯示Crystal報表,甚至不會引發異常。
我已經安裝
來自any1的任何輸入都會有所幫助。 如果您需要更多信息,請告知。
謝謝,Tanuja
你絕對可以做到的。 我自己做的,甚至撰寫了有關在Azure上運行Crystal Reports的分步博客文章 。
它圍繞創建啟動任務來在新的Azure Web角色實例上運行Crystal Reports安裝文件。 我列出了很多障礙,因此請嘗試一下。 確實有效!
我只是遇到了讓Crystal Reports 2010(13.0.4)在Azure上運行的相同問題。 我遵循BritishDeveloper和其他一些來源的建議。 我的方法略有不同,因為我使用Azure blob存儲來存儲Crystal運行時,這使得項目發布比將其包含在項目中時要快得多。
這是我使水晶報表工作的方式:
1)在Azure門戶中設置新的Blob存儲服務
2)將Crystal安裝程序上傳到此Blob存儲
使用免費工具CloudXplorer上傳CRRuntime_64bit_13_9_4.msi到一個容器稱為crystalinstaller(記得上傳之前解壓縮)。
3)在Visual Studio中,在Azure項目ServiceDefinition.csdef中創建啟動腳本定義:
<ServiceDefinition...>
<WebRole...>
<Startup>
<Task commandLine="AzureStartUp.cmd" executionContext="elevated" taskType="background" />
</Startup>
</WebRole>
</ServiceDefinition>
4)將以下啟動腳本存儲在Web項目的根目錄中,並且將“ build action”設置為none並將“ copy to output”設置為always 。 在這里學到的教訓:approot / siteroots並不總是在E:驅動器上
@ECHO off
@REM Setting up Azure Stroage Credentials
set azurestoragename=<name>
set azurestoragekey=<key>
set storagecontainername=crystalinstaller
@REM Setting up Azure Drive
@REM (sometimes E:, sometimes F: maybe one day G:?)
set drive=%cd:~0,3%
@REM Download Crystal Runtime 13.0.4
@REM from blob storage account
set filename=CRRuntime_64bit_13_0_4.msi
AzureBlobDownloader.exe "%azurestoragename%" "%azurestoragekey%" "%storagecontainername%" "%filename%"
@REM Install Crystal Runtime 13.0.4
msiexec.exe /I CRRuntime_64bit_13_0_4.msi /qn
@REM Copy Crystal Reports Viewer Files
robocopy D:\inetpub\wwwroot %drive%sitesroot\0 /S
robocopy D:\inetpub\wwwroot %drive%approot /S
5)下載一個命令行工具,該工具可以從Blob存儲下載到您的Azure服務VM,我使用的是Windows Azure Tomcat解決方案中的 packagedownloader.exe,但可能還有其他工具,或者您可以輕松自用。 我將其重命名為AzureBlobDownloader.exe,然后將其與包含的Microsoft.WindowsAzure.StorageClient.dll一起復制到我的Web項目的根目錄中,並且將“生成操作”設置為無 ,將“復制到輸出”設置為always 。
如果仍然遇到問題,請嘗試將桌面遠程進入實例,然后使用DebugView之類的工具來監視正在發生的事情。
首先在您的解決方案中創建一個名為“ assets”的文件夾。在該文件夾中復制CRRuntime_64bit_13_0.msi。 然后將以下代碼放入ServiceDefinition.csdef中
<Startup> <Task executionContext="elevated" taskType="simple" commandLine="assets/CRRuntime_64bit_13_0.msi"></Task> </Startup>
這樣,您可以在加載應用程序之前將Crystal運行時安裝在雲服務器上。
希望這對您有用。
絕對可能; 我們在Azure中托管了一個SL應用程序,並在Azure VM中運行了報表服務器(仍處於beta版本,我們雖然遇到了一些連接問題,但對於beta版本的產品非常滿意)。 報表服務器通過Windows服務運行,我們有一個安裝文件,用於安裝CR運行時和我們的服務。 然后,該服務將輪詢數據庫以查找未決的報告請求,然后根據需要對其進行處理。
我們將所有報告都以PDF格式運行,因此用戶只需下載PDF。 如果您在直接顯示報告時遇到問題,可以研究此替代方法。 對我們來說很棒。
到目前為止,Azure尚不支持。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.