示例#1
0
        private static void PublishPayload(EnginePayloadMessage message)
        {
            var fileName    = message.PayloadName;
            var fileContent = message.PayloadContent;

            var payloadRepository = ConfigurationManager.AppSettings["YieldBookEnginePayloadRepository"];

            FileStream fileStream = null;

            try
            {
                if (!Directory.Exists(payloadRepository))
                {
                    Directory.CreateDirectory(payloadRepository);
                }

                var fullFileName = Path.Combine(payloadRepository, fileName);

                if (File.Exists(fullFileName))
                {
                    File.Delete(fullFileName);
                }

                fileStream = File.Open(fullFileName, FileMode.CreateNew, FileAccess.ReadWrite, FileShare.ReadWrite);
                fileStream.Write(Encoding.UTF8.GetBytes(fileContent), 0, fileContent.Length);
            }
            catch (Exception ex)
            {
                Log.Error($"{fileName}: File was not saved", ex);
            }
            finally
            {
                fileStream?.Dispose();
            }

            Log.Debug($"{fileName}: File was saved successfully");
        }
示例#2
0
 public void HandleMessage(EnginePayloadMessage message)
 {
     Task.Run(() => PublishPayload(message));
 }