जारी नहीं करता है मैं एक WPF अनुप्रयोग पर काम कर रहा हूं जो एक्सपीएस दस्तावेज़ खोलता है और प्रदर्शित करता है। जब एप्लिकेशन बंद हो जाता है, तो विनिर्देश यह है कि एप्लिकेशन को साफ़ अप के लिए खोले गए एक्सपीएस दस्तावेज़ को हटाना चाहिए। हालांकि, एक निश्चित एक्सपीएस दस्तावेज़ खोलते समय, एप्लिकेशन एक अपवाद फेंकता है कि जब फ़ाइल इसे हटाने का प्रयास करती है तो फ़ाइल अभी भी उपयोग में है। यह थोड़ा अजीब है क्योंकि यह केवल तब होता है जब कोई विशेष एक्सपीएस दस्तावेज़ खोलता है और केवल तभी जब आप पहले पृष्ठ से आगे बढ़ जाते हैं।WPF DocumentViewer XPS फ़ाइल
कोड मैं प्रयोग किया जाता में से कुछ नीचे दिखाया गया है:
XPS दस्तावेज़ खोलने के लिए: एक्सपीएस दस्तावेज़ नेविगेट करने के लिए
DocumentViewer m_documentViewer = new DocumentViewer();
XpsDocument m_xpsDocument = new XpsDocument(xpsfilename, fileaccess);
m_documentViewer.Document = m_xpsDocument.GetFixedDocumentSequence();
m_xpsDocument.Close();
: DocumentViewer वस्तु को बंद करने के लिए
m_documentViewer.FirstPage();
m_documentViewer.LastPage();
m_documentViewer.PreviousPage();
m_documentViewer.NextPage();
और फ़ाइल को हटाना:
m_documentViewer.Document = null;
m_documentViewer = null;
File.Delete(xpsfilename);
यह सब बहुत ही बुनियादी है और यह हमारे द्वारा परीक्षण किए गए अन्य दस्तावेजों के साथ काम करता है। लेकिन विशेष एक्सपीएस दस्तावेज़ के साथ, एक अपवाद यह कहता है कि हटाई जाने वाली फ़ाइल अभी भी उपयोग की जा रही है।
क्या मेरे कोड से कुछ गलत या गायब है?
धन्यवाद!
अरे यह काम किया! मैंने बस XpsDocument ऑब्जेक्ट को खुल दिया और केवल बाहर निकलने के दौरान XpsDocument.Close() कहा और मैं फ़ाइल को हटाने में सक्षम था। धन्यवाद moogs! –
यह केवल तभी काम करता है जब आप लॉक को रिलीज़ करने के लिए अपना एप्लिकेशन बंद कर सकें। यदि आपको अपना एप्लिकेशन खुला रहता है तो आपको लॉक की आवश्यकता होती है, तो आपको नीचे अपना जवाब या http://stackoverflow.com/questions/1442607/how-do-i-get-wpfs-documentviewer-to-release-its में देखना होगा -file-लॉक-ऑन-स्रोत-XPS-दस्तावेज –