我们正在设计具有多语言界面的报告。我们开发了返回特定单词翻译的Web服务。有没有办法通过网络服务或特定网址调用报告中使用的标签的翻译。
例如
之类的东西http://domain.com/translate?w=WORD-TO-Translate&L=ar
答案 0 :(得分:0)
我打算建议创建一个可以执行此操作的自定义程序集,但是当它从Report Builder运行时,它似乎无法在我的SSRS服务器上运行。我想知道从自定义程序集连接到Web服务是否存在问题(或者我做错了)。相反,我会指向another method进行翻译。
如果您想要选择自定义程序集方法,这里是我正在使用的代码:
using System;
using System.IO;
using System.Net;
namespace SSRSCustomAssembly
{
public class Translate
{
public static string TranslateString(string input, string locale)
{
string url = string.Format("http://domain.com/translate?w={0}&L={1}", input, locale);
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);
req.Method = "GET";
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
StreamReader sr = new StreamReader(resp.GetResponseStream());
return sr.ReadToEnd();
}
}
}
在您的报告中,只需添加对程序集的引用,通过使用表达式来调用它: = SSRSCustomAssembly.Translate.TranslateString(“word”,“en”)