PrivateFontCollection замораживает приложение и возвращает ошибку в w3wp.exe - PullRequest
0 голосов
/ 21 сентября 2018

Мы создаем несколько диаграмм в качестве настраиваемого веб-элемента управления динамически, используя приведенный ниже код.Если использовать системный шрифт, такой как «Arial» (установленный шрифт), он хорошо создает диаграммы.Но нам нужно загрузить шрифт из файла, для этого мы используем PrivateFontCollection.

Код:

*protected override void CreateChildControls()
        {
            Font font;
            string strFontFile = @"c:\temp\Source sans pro.ttf";
            using(PrivateFontCollection fonts = new PrivateFontCollection())
            {
                fonts.AddFontFile(strFontFile);
                FontFamily fontFamily = new FontFamily(fonts.Families.FirstOrDefault()?.Name, fonts);

                font = new Font(fontFamily, 8);
            }

            _chart = new System.Web.UI.DataVisualization.Charting.Chart();

            // Chart legent creation
            Legend legend = new Legend
                            {
                                BackColor = Color.Transparent,
                                BorderColor = Color.Transparent,
                                LegendStyle = this.LegendStyle,
                                Docking = this.Docking,
                                Font = font,
                                TextWrapThreshold = this.LegendTextWrapThreshold
                            };

            _chart.Legends.Add(legend);

            this.Controls.Add(_chart);
        }*

См. Изображение ошибки

Мы попытались избавиться от PrivateFontCollection, но у нас есть эти ошибки.Но эта ошибка случается не часто.Подскажите, пожалуйста, как мы используем PrivateFontCollection в настраиваемом веб-контроле ASP?

Спасибо

...