0

有什么方法可以在服务(WCF/restful 服务)中使用 .NET 的 MSChart 吗?要求是应该托管一个生成图表并将图表图像返回给调用应用程序的服务。调用应用程序应调用 Web 服务方法。没有网页可以嵌入 MSCHART 控件。

4

2 回答 2

0

VB版..

<WebMethod()> _
       Public Function GetChart(ByVal param1 As String, ByVal width As Integer) As String
          Dim ch As New Charting
          Dim ds As DataSet = blablabla
          Dim page As New Page()
          Dim form As New HtmlForm()
          form.Controls.Add(ch.buildChart(param1, ds, width))
          page.Controls.Add(form)
          Dim textWriter As New IO.StringWriter()
          HttpContext.Current.Server.Execute(page, textWriter, False)
          Dim htmltxt As String = textWriter.ToString
          Return Regex.Replace(htmltxt, "<[/]?(form)[^>]*?>", "", RegexOptions.IgnoreCase)
    End Function

像(jquery)一样使用:

function GetChart(param1) {
      var params = new Object();
      params.param1 = param1;
      params.width = $(window).width() - 115;
      $.ajax(
      {
         type: "POST",
         data: $.toJSON(params),
         url: "WebService.asmx/GetChart",
         dataType: "json",
         contentType: "application/json",
         complete: function (response) {
         },
         success: function (response) {
        $(divChart).html(response.d);
         .
         .
         .
于 2012-06-13T23:20:27.393 回答
0

您可以在代码中生成图表,然后将图表保存到流中。然后将流返回给调用者。请参阅http://msdn.microsoft.com/en-us/library/dd456181.aspx

于 2012-06-06T22:12:46.927 回答