Azure-运行ReportViewer的权限

Azure-运行ReportViewer的权限,azure,reportviewer,Azure,Reportviewer,我正在一个web角色上成功运行一个控制台应用程序,该角色在正确的时间运行,并将成功发送一封测试电子邮件: 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 %~dp0ConsoleAppT

我正在一个web角色上成功运行一个控制台应用程序,该角色在正确的时间运行,并将成功发送一封测试电子邮件:

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[])
应用程序:ConsoleAppToCallWebPage.exe
框架版本:v4.0.30319
描述:由于未处理的异常,进程已终止。
异常信息:Microsoft.Reporting.WinForms.LocalProcessingException
堆栈:
在Microsoft.Reporting.WinForms.LocalReport.EnsureExecutionSession()上
位于Microsoft.Reporting.WinForms.LocalReport.SetParameters(System.Collections.Generic.IEnumerable`1)
在控制台AppToCallWebPage.Program.SendMerchantsCommand和细分报告(System.String、System.Guid、System.Guid)
在ConsoleAppToCallWebPage.Program.Main(System.String[])上

DLL是我的Win7 64位计算机上ReportViewer的第10版

如果我将RDP添加到Azure web实例上,我可以从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>

答案是,作为计划任务运行时,reportviewer在错误的目录中查找rdlc文件

reportSummaryPDF.ReportPath=@“e:\approot\bin\StartupTasks\myreport.rdlc”


在Win7调度任务上本地运行有助于调试