Azure - разрешения на запуск ReportViewer - PullRequest
0 голосов
/ 18 августа 2011

Я успешно запускаю консольное приложение в веб-роли, которая запускается в нужное время и успешно отправит тестовое электронное письмо:

net start "task scheduler"
net user scheduler SecretP@ssw0rd /add
net localgroup Administrators scheduler /add
schtasks /create /SC WEEKLY /D THU /ST 17:30 /TN WariCheckNewFeed /TR %~dp0ConsoleAppToCallWebPage.exe /F /RU scheduler /RP SecretP@ssw0rd

Проблема: когда оно достигает:

ReportParameter startAndEndDateStringParam = new ReportParameter("StartAndEndDateString", startAndEndDateString);

            LocalReport reportSummaryPDF = new LocalReport();
            reportSummaryPDF.ReportPath = "MerchantCampaignSummary.rdlc";

            reportSummaryPDF.SetParameters(new ReportParameter[] { campaignName, merchantNameParam, totalRedeemed, startAndEndDateStringParam });
            reportSummaryPDF.DataSources.Clear();
            reportSummaryPDF.DataSources.Add(datasource1);
            reportSummaryPDF.DataSources.Add(datasource2);

Я получаю:

Application: ConsoleAppToCallWebPage.exe
                    Framework Version: v4.0.30319
                    Description: The process was terminated due to an unhandled exception.
                    Exception Info: Microsoft.Reporting.WinForms.LocalProcessingException
                    Stack:
                       at Microsoft.Reporting.WinForms.LocalReport.EnsureExecutionSession()
                       at Microsoft.Reporting.WinForms.LocalReport.SetParameters(System.Collections.Generic.IEnumerable`1<Microsoft.Reporting.WinForms.ReportParameter>)
                       at ConsoleAppToCallWebPage.Program.SendMerchantSummaryAndBreakdownReports(System.String, System.Guid, System.Guid)
                       at ConsoleAppToCallWebPage.Program.Main(System.String[])

enter image description here

DLL - это версия 10 ReportViewer с моей 64-битной машины Win7.

Если я переадресовываю RDP на веб-экземпляр Azure, я могу успешно запустить консольное приложение по адресу e: \ Approot \ startuptasks \ consoleapptocallwebpage.exe

Похоже на разрешения!

<WebRole name="Web" vmsize="Small" enableNativeCodeExecution="true">
    <Sites>
      <Site name="Web">
        <Bindings>
          <Binding name="HttpIn" endpointName="HttpIn" />
        </Bindings>
      </Site>
      <Site name="WebMVCAdmin" physicalDirectory="c:\publishWebMVCAdmin">
        <Bindings>
          <Binding name="HttpIn" endpointName="HttpIn" hostHeader="pvadmin8.mateerit.co.nz" />
        </Bindings>
      </Site>
    </Sites>
    <ConfigurationSettings>
      <Setting name="DiagnosticsConnectionString" />
      <Setting name="DataConnectionString" />
      <Setting name="SQLAzureRetryCountMaximum" />
      <Setting name="SQLAzureRetryDelaymSec" />
    </ConfigurationSettings>
    <Endpoints>
      <InputEndpoint name="HttpIn" protocol="http" port="80" />
    </Endpoints>
    <Imports>
      <Import moduleName="RemoteAccess" />
      <Import moduleName="RemoteForwarder" />
    </Imports>
    <Startup>
      <Task commandLine="StartupTasks\addScheduledTaskRunner.cmd" executionContext="elevated" taskType="simple" />
      <Task commandLine="StartupTasks\disableTimeout.cmd" executionContext="elevated" />
    </Startup>
  </WebRole>

1 Ответ

0 голосов
/ 20 августа 2011

Ответ состоял в том, что при выполнении запланированной задачи программа просмотра отчетов искала в неправильном каталоге файл rdlc! ​​

reportSummaryPDF.ReportPath = @ "e: \ Approot \ bin \ StartupTasks \ myreport.rdlc";

http://blog.smarx.com/posts/windows-azure-startup-tasks-tips-tricks-and-gotchas
http://www.voiceoftech.com/swhitley/index.php/2011/07/windows-azure-task-scheduler/

Локальный запуск запланированных задач Win7 помог отладить.

...