2

我用 C# 编写了一个报告渲染器,它运行并将报告附加到电子邮件中。这一切都很好,除了在报告标题中列出的参数的日期格式不正确。所有报告的语言都设置为=User!Language,并且使用 FormatDateTime 函数输出参数,以根据用户的区域设置进行格式化。

我基本上使用的是MSDN 上描述的渲染方法。

当报告通过浏览器运行时,这一切都很好。但是,当我从 C# 呈现报告时,它使用en-US日期格式。

报表服务器的区域设置已正确设置为正确的区域,运行 C# 程序的计算机的区域设置也是如此。

我需要在我的 C# 程序中设置什么属性才能使用我的适当语言/文化呈现报告?

4

1 回答 1

3

这是一个类似的问题

但是,在这种情况下,您要做的是覆盖 ReportExecutionService 上的 GetWebRequest 方法,而不是像该答案中那样的 ReportingService:

public partial class ReportExecution : ReportExecutionService
{
    protected override WebRequest GetWebRequest(Uri uri) 
    { 
        WebRequest request = base.GetWebRequest(uri); 
        request.Headers.Add(HttpRequestHeader.AcceptLanguage, CultureInfo.CurrentCulture.Name); 
        return request; 
    }  
}
于 2012-10-23T04:49:57.240 回答