如何检索值/url
本文关键字:url 检索 何检索 | 更新日期: 2023-09-27 18:06:27
我提前道歉,因为我以前没有使用过visual studio,我使用了一个模板来创建下面的代码。但是我真的需要一些帮助。
我正试图通过API从使用visual studio的系统生成报告。下面的代码可以工作,并且在调试时不会给我任何错误,但是我需要找到一种方法来检索最后的reportturl变量(报告是使用下面的规范生成的,我应该收到一个URL来下载报告)。我正在构建一个windows应用程序。
是否有类似console.log或console.log之类的东西?writeline在visual studio我可以使用?或者我可以将其输出到某种文本框中吗?(同样,我是作为windows窗体而不是控制台应用程序构建的)。有没有人可以帮助我找出某种代码,我可以使用检索基于下面提供的URL ?(请尽可能详细说明,因为我还在适应这个项目)。谢谢!
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ReportsApplication2
{
using ServiceReference1;
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
ReportExecutionServiceClient client = new ReportExecutionServiceClient();
ReportSubmission submissionRequest = new ReportSubmission();
ReportSubmissionResponse submissionResponse = new ReportSubmissionResponse();
PollReportResponse pollResponse = new PollReportResponse();
WebMediaReportRequest webRepReq = new WebMediaReportRequest();
UserCredentials userCredentials = new UserCredentials();
DateFilter dateFilter = new DateFilter();
userCredentials.UserName = "xxxxx";
userCredentials.Password = "xxxxx";
submissionRequest.UserCredentials = userCredentials;
submissionRequest.DeveloperToken = "xxxxxx";
dateFilter.DateFilterType = DateFilterType.Total;
dateFilter.RelativeDateRange = RelativeDateRange.LastMonth;
webRepReq.Columns = new WebMediaReportColumn[2] { WebMediaReportColumn.MediaPlanName, WebMediaReportColumn.Impressions };
List<WebMediaFilter> webRepFilterList = new List<WebMediaFilter>();
WebMediaFilter webRepFilter = new WebMediaFilter();
webRepFilter.Column = WebMediaReportFilter.ClientGUID;
webRepFilter.Values = new string[1] {"xxxxxx"};
webRepFilterList.Add(webRepFilter);
webRepFilter = new WebMediaFilter();
webRepFilter.Column = WebMediaReportFilter.BuyGUID;
webRepFilter.Values = new string[1] { "xxxxxxxx" };
webRepFilterList.Add(webRepFilter);
webRepReq.ReportName = "test";
webRepReq.Filters = webRepFilterList.ToArray();
webRepReq.Format = FormatType.CSV;
webRepReq.DateFilter = dateFilter;
submissionRequest.ReportRequest = webRepReq;
submissionResponse = client.SubmitReport(submissionRequest);
string reportURL = string.Empty;
do { // Loop until report complete or failed
PollReportRequest pollRequest = new PollReportRequest();
pollRequest.DeveloperToken = "xxxxxxx";
pollRequest.UserCredentials = userCredentials;
pollRequest.ReportId = submissionResponse.ReportId;
pollResponse = client.PollReport(pollRequest);
reportURL = pollResponse.Url;
} while ((pollResponse.Status != ReportStatus.Failed) || ((pollResponse.Status != ReportStatus.Complete)));
}//end
你其实已经知道你需要什么了。控制台。WriteLine方法将把您想要的任何内容写入控制台。
当您在Visual Studio中调试时,您可以通过打开"Output"窗口来查看控制台窗口。您可以在View
菜单
即使你正在编写一个WinForms应用程序,这仍然会在调试时写入输出窗口。在调试时,它可能是一个有效的工具,但是,当然,当您实际发布应用程序时,该命令将毫无意义,因为您也不会有控制台来编写。
如果您使用的是Winforms,最简单的显示消息的方法是MessageBox.Show():
MessageBox.Show(reportURL);
它将阻止程序,直到您点击确定。
http://msdn.microsoft.com/en-us/library/0x49kd7z (v = vs.110) . aspx
如果您想在开发过程中输出调试信息,那么Console.WriteLine()将起作用:
Console.WriteLine(reportURL);
它将显示在输出窗口中。如果你没有看到,在调试模式下,转到Visual Studio的主菜单,选择View -> Output。
Console.WriteLine()只能在Visual Studio中为Winforms应用程序工作;在部署它之后,控制台窗口没有显示,因此您需要通过GUI方法显示它。
如果需要在运行时输出,可以将TextBox从工具箱拖到主窗体上,然后执行:
textBox.Text = reportURL;
如果你不能在主窗体上显示它,那么你可能想要创建你自己的自定义消息对话框,包括一个文本框,并显示它的ShowDialog()
最简单的解决方案是使用Console.WriteLine
。