2016-06-22 24 views
5

में फ़ाइल फ़ाइल एक्सेस करें जब मुझे सेवा बस कतार से नया संदेश प्राप्त होता है तो मुझे सेवा फैब्रिक सेवा में ffmpeg का उपयोग करके वीडियो एन्कोड करने की आवश्यकता होती है। मैं संसाधनों से ffmpeg.exe निकाल सकता हूं और इसे चला सकता हूं लेकिन क्या मैं आंतरिक फ़ाइल सिस्टम में इनपुट/आउटपुट वीडियो फ़ाइलों को सहेज सकता हूं?सेवा फैब्रिक

उत्तर

5

मैं निम्नलिखित कोड द्वारा स्थानीय क्लस्टर पर यह परीक्षण किया:

protected override async Task RunAsync(CancellationToken cancellationToken) 
    { 
     while (true) 
     { 
      cancellationToken.ThrowIfCancellationRequested(); 

      string filename = "testFile.txt"; 
      File.AppendAllText(filename, "test. "); 

      string content = File.ReadAllText(filename); 
      System.Diagnostics.Trace.WriteLine("Content:" + content); 
      System.Diagnostics.Trace.WriteLine(new FileInfo(filename).FullName); 

      await Task.Delay(TimeSpan.FromSeconds(1), cancellationToken); 
     } 
    } 

परिणाम उत्पादन किया गया था:

Content:test. 
C:\SfDevCluster\Data\_App\_Node_3\SampleAppType_App51\work\testFile.txt 
Content:test. test. 
C:\SfDevCluster\Data\_App\_Node_3\SampleAppType_App51\work\testFile.txt 
Content:test. test. test. 
C:\SfDevCluster\Data\_App\_Node_3\SampleAppType_App51\work\testFile.txt 

लेकिन पथ सी के बगल में चलाने पर बदल दिया गया था: \ SfDevCluster \ Data_App_Node_3 \ SampleAppType_App52 \ काम \ testFile.txt।

तो मुझे लगता है कि जवाब है:

यह स्थानीय फाइल सिस्टम का उपयोग करने के, लेकिन केवल अस्थायी फ़ाइलों के लिए संभव है। और मुझे लगता है कि पुनरावृत्ति के अंत में सिस्टम को साफ करना एक अच्छा अभ्यास है।

+2

आपका निष्कर्ष सही है। अस्थायी स्थानीय फ़ाइल संग्रहण जहां तक ​​आप स्थानीय फ़ाइल सिस्टम के साथ जाना चाहते हैं क्योंकि सेवाएं किसी भी विशिष्ट वीएम इंस्टेंस से बंधी नहीं हैं। –

संबंधित मुद्दे