我正嘗試以編程方式使用Azure Reporting Services呈現PDF。我懷疑實際的PDF檢索是好的,但我無法找到一種在請求報告(通過URL)之前驗證連接的方法。我正在使用Web應用程序的服務層,但無法使用Web引用(可能不適用於Azure),使用ReportViewer控件(因爲它是服務層方法)沒有意義。報告服務身份驗證問題
我有所有的細節連接,但我懷疑我需要一個cookie進行身份驗證,我不知道如何手動創建此。任何建議/解決方案?
這裏是我到目前爲止的代碼:
string userName = BJConfigurationManager.GetSetting("ReportingServiceUsername");
string password = BJConfigurationManager.GetSetting("ReportingServicePassword");
NetworkCredential networkCredential = new NetworkCredential(userName, password);
Domain.Report report = GetReportById(id);
int timeout = 30; //seconds
string url = "https://bleh.ctp.reporting.database.windows.net/ReportServer/Pages/ReportViewer.aspx?...";
string destinationFileName = "@C:\\Temp.pdf";
// Create a web request to the URL
HttpWebRequest MyRequest = (HttpWebRequest)WebRequest.Create(url);
MyRequest.PreAuthenticate = true;
MyRequest.Credentials = networkCredential;
MyRequest.Timeout = timeout * 1000;
try
{
// Get the web response -- THE RESPONSE COMES BACK AS UNAUTHENTICATED...
HttpWebResponse MyResponse = (HttpWebResponse)MyRequest.GetResponse();
那麼還有沒有其他的方法可以在沒有報告查看器的情況下在沒有引用報告服務的情況下檢索代碼中的pdf?當然,如果我有完整的URL,用戶名和密碼,肯定有辦法進行身份驗證。如果可以手動完成,那麼一定有辦法以編程方式完成它? – Chris 2011-04-18 14:36:29