Объявление

Частичное доверие / Задача среднего доверия

Провайдеры интернет-услуг, размещающие несколько приложений различных компаний, чаще всего налагают уровень безопасности Среднего доверия. Более того, иногда вам нужно разместить несколько приложений на общем сервере, например, в ESP или других сценариях, вам придется использовать уровень доверия Среднего уровня, чтобы ограничить приложения. Уровень доверия ASP.NET обеспечивает ограниченную среду выполнения, подходящую для изоляции нескольких приложений, размещенных на серверах ISP. В случае .NET 2.0 такой уровень безопасности может устанавливать следующие ограничения, которые могут повлиять на возможность Aspose.Cells for .NET выполняться должным образом, например:

  • RegistryPermission недоступен. Это означает, что вы не можете получить доступ к реестру, что требуется для перечисления установленных шрифтов при рендеринге электронных таблиц или других документов.
  • FileIOPermission ограничен. Это означает, что вы можете получить доступ только к файлам в иерархии виртуального каталога вашего приложения. Это потенциально означает, что шрифты не могут быть прочитаны во время экспорта.

Использование Aspose.Cells for .NET с установленным разрешением Среднего доверия

Вы можете следовать некоторым рекомендациям для запуска Aspose.Cells for .NET на уровне среднего доверия или в среде общего сервера:

  • Чтобы установить файл лицензии в своем коде, лучше вызовите метод License.SetLicense(Stream) после получения файла лицензии в потоки.
  • Должен быть установлен каталог шрифтов (к которому можно обратиться с разрешением). Если нет возможности получить доступ к файлу на сервере, добавьте необходимые файлы шрифтов в ваше приложение.
  • В режиме частичного доверия не поддерживается преобразование Shape в EMF, поэтому установите тип экспортируемого изображения (для форм) в другие форматы изображений.

Посмотрите следующий пример, демонстрирующий, как использовать/запустить Aspose.Cells for .NET в режиме Medium Trust.

 // Instantiate the License object

Aspose.Cells.License lic = new Aspose.Cells.License();

// Get the license file into stream

System.IO.Stream stream = System.IO.File.OpenRead(MapPath("~") + @"\Aspose.Cells.lic");

// Set the License stream

lic.SetLicense(stream);

// Close the stream

stream.Close();

// Set the fonts directory

CellsHelper.FontDir = MapPath("~") + @"\Fonts";

//Open the template file

Workbook workbook = new Workbook(MapPath("~") + @"\test.xlsx");

PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();

// Set the image type to other format instead of using the default image type, that is, EMF

pdfSaveOptions.ImageType = System.Drawing.Imaging.ImageFormat.Png;

// Save the PDF file

workbook.Save(MapPath("~") + @"\dest.pdf", pdfSaveOptions);

// Save the XLSX file

workbook.Save(MapPath("~") + @"\dest.xlsx");