Я собирался порекомендовать создать пользовательскую сборку, которая бы это делала, но, хотя она работает из построителя отчетов, похоже, она не работает с моего сервера SSRS. Мне интересно, если есть проблема с подключением к веб-сервису из пользовательской сборки (или, возможно, я делаю это неправильно). Вместо этого я укажу вам другой метод для выполнения переводов.
На случай, если вы захотите выбрать пользовательский подход к сборке, вот код, который я использую:
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")