public IActionResult Posting(TransformOperationParam json) { var OSGeo4WShell = Configuration["ScriptRunners:OSGeo4WPath"]; // Creating temp directory to store ogr2ogr output string tempDirectory = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); Directory.CreateDirectory(tempDirectory); string tempDirectoryFile = Path.Combine(tempDirectory, Path.ChangeExtension(Path.GetRandomFileName(), json.SingleFileFormat)); ResultObject output; // file disposes after block using (TempFileCollection files = new TempFileCollection()) { string file = files.AddExtension("geojson"); System.IO.File.WriteAllText(file, json.InputLayer.ToString()); string cmdInput = _creator.buildOgr2Ogr(json, "ogr2ogr", tempDirectoryFile, file); output = _python.RunCMD(cmdInput, OSGeo4WShell); } var result = _outputHandler.HandleGdalOutput(output, tempDirectory); // Deleting source DirectoryInfo directory = new DirectoryInfo(tempDirectory); directory.Delete(true); return(result); }