public TResult <bool> UploadRedLinesAddiotionalFiles(string filename, System.IO.Stream stream) { System.Diagnostics.Debug.Assert(false); try { string user = System.Web.HttpContext.Current.Request.Headers["user"]; string project = System.Web.HttpContext.Current.Request.Headers["projectname"]; string layer = System.Web.HttpContext.Current.Request.Headers["layer"]; string uid = System.Web.HttpContext.Current.Request.Headers["owner"]; string description = System.Web.HttpContext.Current.Request.Headers["description"]; string extension = System.Web.HttpContext.Current.Request.Headers["extension"]; LogHandler.WriteLog("Service.cs: UploadRedLinesAddiotionalFiles. : Starting" + filename, EventLogEntryType.Information); //var parser = new HttpMultipartParser.MultipartFormDataParser(stream); var parser = new HttpMultipartParser.StreamingMultipartFormDataParser(stream); parser.ParameterHandler += parameter => { }; // Write the part of the file we've recieved to a file stream. (Or do something else) filename = filename + "." + extension; LogHandler.WriteLog("Service.cs: UploadRedLinesAddiotionalFiles. : Creating File " + filename, EventLogEntryType.Information); var write = File.OpenWrite("c:\\temp\\" + filename); //object comosobject = System.Web.HttpContext.Current.ApplicationInstance.Application["ComosAPI"]; //IBRServiceContracts.IServiceContract m_ComosAPIService = (IBRServiceContracts.IServiceContract)comosobject; IServiceContract m_ComosAPIService = GetComosAPI(); parser.FileHandler += (name, fileName, type, disposition, buffer, bytes) => { LogHandler.WriteLog(" Service.cs: UploadRedLinesAddiotionalFiles. : Write block to File " + filename, EventLogEntryType.Information); write.Write(buffer, 0, bytes); }; parser.StreamClosedHandler += () => { LogHandler.WriteLog(" Service.cs: UploadRedLinesAddiotionalFiles. : File stream closed" + filename, EventLogEntryType.Information); // Do things when my input stream is closed write.Flush(); write.Close(); write.Dispose(); using (var reader = System.IO.File.OpenRead("c:\\temp\\" + filename)) { RemoteFileInfo fileInfo = new RemoteFileInfo() { FileByteStream = reader, Project = project, User = user, Owner = uid, Workinglayer = layer, FileName = filename, Extension = extension, Description = description, }; m_ComosAPIService.CreateRedLinesAndAditionalDocuments(fileInfo); } }; parser.Run(); } catch (Exception ex) { LogHandler.WriteLog("Service.cs: UploadRedLinesAddiotionalFiles. : Exception = " + ex.Message, EventLogEntryType.Error); return(new TResult <bool>() { Status = false, Message = ex.Message, data = false }); } //return null; return(new TResult <bool>() { data = true, Status = true, }); }