2013-04-10 2 views
0

У меня есть служба Windows. И вызывается функция внизу во время запуска службы.Windows Service Exception

static public void SaveXpsPageToJpeg(string xpsFileName, int[] pages){ 
    using (XpsDocument xpsDoc = new XpsDocument(xpsFileName, System.IO.FileAccess.Read)){ 
     FixedDocumentSequence docSeq = xpsDoc.GetFixedDocumentSequence(); 
     DocumentPaginator paginator = docSeq.DocumentPaginator; 

     // You can get the total page count from docSeq.PageCount 

     foreach(int pageNum in pages){ 
      using (DocumentPage docPage = paginator.GetPage(pageNum)){ 
       BitmapImage bitmap = new BitmapImage(); 
       RenderTargetBitmap renderTarget = 
        new RenderTargetBitmap((int)docPage.Size.Width, 
        (int)docPage.Size.Height, 
         96, // WPF (Avalon) units are 96dpi based 
         96, 
         System.Windows.Media.PixelFormats.Default); 

       renderTarget.Render(docPage.Visual); 

       JpegBitmapEncoder encoder = new JpegBitmapEncoder(); // Choose type here ie: JpegBitmapEncoder, etc 
       encoder.Frames.Add(BitmapFrame.Create(renderTarget)); 

       using (FileStream pageOutStream = new FileStream(xpsDoc + ".Page" + pageNum + ".jpg", FileMode.Create, FileAccess.Write)){ 
        encoder.Save(pageOutStream); 
        pageOutStream.Close(); 
       } 
      } 
     } 
    } 
} 

Тот же код отлично работает с приложением WPF. Но когда я отлаживать то же самое в обслуживании его бросает исключение

Я также добавил снимки экрана, за исключением и внутренние детали

http://imageshack.us/photo/my-images/62/97453717.png/

http://imageshack.us/photo/my-images/850/95569721.jpg/

Я также попытался изменить X64 , X86 и AnyCPU в диспетчере конфигурации

Я использую Visual Studio 2010, .Net Framework 4

Может кто-нибудь помочь здесь

+0

Изображения отсутствуют. Когда я нажимаю на ссылки, а затем загружаю изображение, он дает ошибку 404. –

ответ

0

Мне нужно было найти решение самостоятельно.

Большинство проектов, созданных Visual Studio, по умолчанию установлены в MTA. Я должен был запустить свой код внутри потока STA.

И наконец ...!