Произошла ошибка при загрузке SolutionStream - PullRequest
0 голосов
/ 30 мая 2019

Я пытаюсь настроить приложение ASP.NET WebAPI2 для работы в IIS 7.0. Когда я запускаю приложение в VS-2017, которое работает с привилегиями администратора и использует IIS Express, я не получаю ошибку. Но когда я публикую приложение и запускаю его в своем локальном IIS, я получаю сообщение об ошибке «Произошла ошибка при загрузке solutionStream».

Метод Controller принимает файл, загружаемый из PostMan, читает его поток и передает его стороннему API, который возвращает содержимое файла.

        [HttpPost]
        [ValidateMimeMultipartContentFilter]
        [Route("GetLabelVariables")]
        public async Task<IHttpActionResult> GetLabelVariables()
        {
            ILabel lbl;

            var uploadPath = HttpContext.Current.Server.MapPath("~/App_Data");

            var multiPartMemoryStreamProvider = new MultipartFormDataStreamProvider(uploadPath);

            await Request.Content.ReadAsMultipartAsync(multiPartMemoryStreamProvider);

            // Get thefile
            var fileupload = multiPartMemoryStreamProvider.FileData.First();

            // Get the temp name and path that MultipartFormDataStreamProvider used to save the file as:
            var tempPath = fileupload.LocalFileName;

            // Now read the file's data from the temp location.
            var bytes = File.ReadAllBytes(tempPath);

            // Using a MemoryStream
            using (var stream = new MemoryStream(bytes))
            {
// To Get the stream and return a LabelFile out of the stream. 
// The code fails here in IIS but passes in VisualStudio IIS Express running
// in administrator mode.
// Am suspecting the IIS has a special way it receives HttpRequestMessages
                lbl = PrintEngineFactory.PrintEngine.OpenLabel(stream);
            }

            return Ok(lbl.Variables.Select(x => new
                {
                    x.Name,
                    x.Description,
                    x.Length,
                    x.IsFixedLength
                }));
        }

enter image description here

...