【问题标题】:Setting language/culture for reporting services report rendered through C#为通过 C# 呈现的报告服务报告设置语言/文化
【发布时间】:2012-10-23 14:09:48
【问题描述】:

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

我基本上是用described here on MSDN的渲染方式。

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

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

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

【问题讨论】:

    标签: c# reporting-services


    【解决方案1】:

    Here is a similar problem

    但是,在这种情况下,您要做的是覆盖 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; 
        }  
    }
    

    【讨论】:

    • 您在回答中所说的大部分内容都是错误或具有误导性的,但是您确实在“也有用”链接中给了我一个有价值的提示,虽然不是实际的答案,但给了我足够的线索找出答案。我希望你不介意,但我已经完全删除了你的答案,并用正确的答案代替了它,所以我可以根据你给我的提示奖励你积分。谢谢!
    • 我很高兴我至少帮了一点忙 :)
    猜你喜欢
    • 2018-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多