ImageResizer работал в ConsoleApp, теперь не работает в ASP.NET - PullRequest
0 голосов
/ 23 марта 2020

Я использовал ImageResizer (https://imageresizing.net/) для изменения размера изображений. Я написал консольное приложение , которое изменяло размеры изображений в указанном каталоге на моем диске.

Консольное приложение работало нормально, но затем я добавил свой проект в ASP . NET MVC приложение, и оно не работает. Я не просто переместил код, я переместил весь проект и просто вызвал созданный мной метод запуска, который совпадает с моим предыдущим основным из консольного приложения. Я установил resizer из NuGet в моем веб-приложении.

Когда мой код достигает точки, где я изменяю размеры изображений, я получаю сообщение об ошибке «Запрос не доступен в этом контексте» Это часть, где я пытаюсь изменить размер моего изображения:

var resize = new ResizeSettings(resizeParameters);
ImageBuilder.Current.Build(inFile, outFile, resize);

Это вывод stackTrace.

at System.Web.HttpContext.get_Request()
at ImageResizer.Configuration.Performance.GlobalPerf.JobComplete(ImageBuilder builder, ImageJob job)
at ImageResizer.ImageBuilder.BuildInternal(ImageJob job)
at ImageResizer.ImageBuilder.BuildInQueue(ImageJob job, Boolean useSemaphore, Int32 maxQueuingMilliseconds, CancellationToken cancel)
at ImageResizer.ImageBuilder.Build(ImageJob job)
at ImageResizer.ImageBuilder.Build(Object source, Object dest, ResizeSettings settings, Boolean disposeSource, Boolean addFileExtension)
at ImageResizer.ImageBuilder.Build(Object source, Object dest, ResizeSettings settings, Boolean disposeSource)
at ImageResizer.ImageBuilder.Build(Object source, Object dest, ResizeSettings settings)
at ImageOptimizerCode.ResizeAndOptimize.ResizeImage(String inFile, String outFile, String resizeParameters) in
E:\\Vermis\\ImageOptimizer\\ImageOptimizerCode\\ResizeAndOptimize.cs:line
176

Если кто-то может указать мне правильное направление, на то, что я делаю здесь неправильно, было бы замечательно.

1 Ответ

1 голос
/ 23 марта 2020

Поскольку вам нужно запустить другой проект (здесь MVC), вы должны настроить плагин для проекта. Поэтому убедитесь, что плагин настроен для запуска через:

A. добавьте <add name="PluginName" /> в <plugins /> раздел файла web.config

ИЛИ

B. В Application_Start методе Global.asax создайте экземпляр плагина

    new PluginName().Install(ImageResizer.Configuration.Config.Current);

Ниже приведен код, объясняющий, как использовать этот плагин:

Image Resize In ASP. NET MVC Использование Image Resizer

ImageResizer обеспечивает чистое и четкое изменение размера изображения в ASP. NET

...