Так что у меня этот метод, чтобы установить некоторые основные теги метаданных, которые в конечном итоге будут добавлены к моему образу:Установка BitmapMetadata.Title в службе работает на Windows Server 2003 Web Edition бросает NotSupportedException
BitmapMetadata metaData = new BitmapMetadata("jpg");
foreach (var t in tags)
{
try
{
switch (t.Key)
{
case "Author":
metaData.Author = new System.Collections.ObjectModel.ReadOnlyCollection<string>(new string[] { t.Value });
break;
case "Rating":
int rating = 0;
if (int.TryParse(t.Value, out rating))
{
metaData.Rating = rating;
}
break;
case "Subject":
metaData.Subject = t.Value;
break;
case "Title":
metaData.Title = t.Value;
break;
case "Comment":
metaData.Comment = t.Value;
break;
default:
keywords.Add(string.Format("{0}:{1}", t.Key, t.Value));
break;
}
}
catch (Exception ex)
{
//Do some logging
}
}
И я продолжаю получать ошибка:
System.NotSupportedException: No imaging component suitable to complete this operation was found. ---> System.Runtime.InteropServices.COMException: Exception from HRESULT: 0x88982F50 \ --- End of inner exception stack trace --- \ at System.Windows.Media.Imaging.BitmapMetadata.SetQuery(String query, Object value) \ at System.Windows.Media.Imaging.BitmapMetadata.set_Title(String value)
Работает как локальный хост на Windows 8.1, это прекрасно работает. Как только я развожу свою службу на свой Windows Server 2003 Web Edition, она выдает указанную ошибку. Что происходит?
Возможно, вам не хватает кодировщика JPEG. Обычно это в System.Drawing.dll, в пространстве имен System.Drawing.Imaging. Попробуйте сделать «ImageCodecInfo [] encoderArray = ImageCodecInfo.GetImageEncoders();» и проверьте, что в возвращаемом массиве есть хотя бы один результат. – RenniePet
Я побежал этот метод и напечатал имя Codec и получил: Встроенный BMP Codec, Встроенный GIF кодек, Встроенный TIFF кодеком, Встроенный PNG Codec, Я предполагаю, что я m отсутствует jpg-кодер? Как мне установить установку jpg-кодера на моем сервере Windows 2003? – user1
Да. К сожалению, я не знаю об этой конкретной ситуации. Возможно, вы попытаетесь установить это: http://support.microsoft.com/kb/958911 (Но если это вызывает проблемы, не обвиняйте меня. :-) – RenniePet