Я создал пользовательскую сборку для преобразования RTF в обычный текст, и она хорошо работает со следующей конфигурацией: SSRS 2008, Win 2003 Server, изменения rssrvpolicy.config, учетная запись исключения и IIS 6.0.
Мы создали новый сервер с SSRS 2008R2, Win 2008 и IIS 7. Он не работает в этой новой среде, и я не получаю никаких ошибок, а вместо этого служба SSRS перезагружается сама.Это происходит только тогда, когда я ссылаюсь на System.Windows.Forms.RichTextBox ().См. Код ниже.
Может кто-нибудь дать мне представление о том, что мне может понадобиться сделать или проверить, чтобы это работало?Я проверил файлы журналов и программу просмотра событий, но не вижу никаких ошибок.Он вызывает мою сборку и работает, если я просто выводю некоторый текст в отчет и не вызываю RichTextControl.Не удается, когда я пытаюсь сослаться на System.Windows.Forms.RichTextBox.Я также установил в GAC без удачи, но не должен был (?) И не сделал со старой версией.
Я также попытался поместить блок try / catch вокруг кода, чтобы увидеть,Я мог бы получить ошибку.Если я просто сгенерирую ошибку, я получу сообщение.Если я вызываю элемент управления RichTextBox, он вызывает перезагрузку службы SSRS.
Мой код:
using System;
using System.Windows.Forms;
using System.Diagnostics;
namespace ConversionUtility
{
public class ConversionUtility
{
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Assert, Unrestricted = true)]
public static string ConvertRTFToText(string richText)
{
string sText = "";
try
{
// if I comment out these 3 lines, this will work
RichTextBox richTextBox = new System.Windows.Forms.RichTextBox();
richTextBox.Rtf = richText;
sText = richTextBox.Text;
//throw new Exception("Log this error");
}
catch (Exception e)
{
sText = "Error Caught: " + e.Message;
}
return sText;
}
}
}
У меня определены эти разрешения.Я добавляю CodeGroup ниже, и она работает, если я не ссылаюсь на RichTextBox.Служба перезагружается, как только я пытаюсь сослаться на System.Forms.Windows.RichTextBox ()
<CodeGroup
class="UnionCodeGroup"
version="1"
Name="SecurityExtensionCodeGroup"
Description="Code group Conversion Utility"
PermissionSetName="FullTrust">
<IMembershipCondition
class="UrlMembershipCondition"
version="1"
Url="C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin \ConversionUtility.dll"
/>
Я думаю, что возникла проблема с разрешениями для System.Windows.Forms, но не смог понять, что мне нужно делать.
Заранее спасибо,
Рэнди