public void OpenFile(FileSessionParameters parameters) { if (_session != null) { // Another session is open. // Close the session first before opening this new one CloseSession(); } var session = new FileSession(this, _resultFactory, parameters); OpenSession(session); }
public FileSession(ISessionHandler resultHandler, IResultFactory resultFactory, FileSessionParameters parameters) { if (parameters == null) { throw new ArgumentNullException(nameof(parameters)); } if (string.IsNullOrWhiteSpace(parameters.FileName)) { throw new ArgumentException(@"FileName is required.", nameof(parameters)); } _watchFile = parameters.Watch; _syncContext = SynchronizationContext.Current; _resultHandler = resultHandler; _resultFactory = resultFactory; Name = parameters.FileName; //Allow proper decoding of orders. JsonConvert.DefaultSettings = () => new JsonSerializerSettings { Converters = { new OrderJsonConverter() } }; }