2011-08-18 102 views
1

我们正在设计具有多语言界面的报告。我们开发了返回特定单词翻译的网络服务。有没有办法通过Web服务或特定的URL来调用报告中使用的标签的翻译。SSRS呼叫外部URL /网络服务

例如,像

http://domain.com/translate?w=WORD-TO-Translate&L=ar 

回答

0

我会建议创建一个自定义组件会做到这一点,但是当它从报表生成器的工作原理似乎不从我的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”)