如何检索值/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

如何检索值/url

你其实已经知道你需要什么了。控制台。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