2017-05-17 1 views
1

웹 API에서 XML 파일 콘텐츠를 읽고 보내려고합니다. 파일은 디스크에 있습니다. ReadStream을 수행하면 예외가 없습니다.하지만 응답을 열면 stream.ReadTimeout 및 stream.WriteTimeout 오류가 발생합니다.파일을 검색 할 때 웹 API 오류가 발생했습니다.

이 내가 사용하는 코드는 다음과 같이

public HttpResponseMessage Get() 
    { 
     var path = @"E:\files\1.xml"; 
     HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK); 
     var stream = new FileStream(path, FileMode.Open); 
     result.Content = new StreamContent(stream); 
     result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/xml"); 
     return result; 
    } 

오류는 다음과 같습니다 enter image description here

XML :

<?xml version="1.0" encoding="UTF-8"?> <fields xmlns:xfdf="http://ns.adobe.com/xfdf-transition/"> <GenderListBox xfdf:original="Gender List Box">Man</GenderListBox> <Language5CheckBox xfdf:original="Language 5 Check Box">Off</Language5CheckBox> <Language4CheckBox xfdf:original="Language 4 Check Box">Off</Language4CheckBox> <Language3CheckBox xfdf:original="Language 3 Check Box">Yes</Language3CheckBox> <Language2CheckBox xfdf:original="Language 2 Check Box">Yes</Language2CheckBox> <Language1CheckBox xfdf:original="Language 1 Check Box">Off</Language1CheckBox> <FavouriteColourListBox xfdf:original="Favourite Colour List Box">Red</FavouriteColourListBox> <DrivingLicenseCheckBox xfdf:original="Driving License Check Box">Off</DrivingLicenseCheckBox> <HeightFormattedField xfdf:original="Height Formatted Field">150</HeightFormattedField> <FamilyNameTextBox xfdf:original="Family Name Text Box">ewew</FamilyNameTextBox> <GivenNameTextBox xfdf:original="Given Name Text Box">ewew</GivenNameTextBox> </fields> 

어떤 포인터를 주셔서 감사합니다.

답변

0

이 시도하십시오

result.Content = new StreamContent(new MemoryStream(File.ReadAllBytes(@"E:\files\1.xml"))); 
+2

문제가 좋은 해결하기 위해 코드의 라인을주기. 그러나이 줄이 문제를 해결하는 이유에 대한 정보를 추가하는 것을 고려하십시오. 따라서 OP와 다음 독자는 이것이 문제를 해결하면 실제로 뭔가를 배우게됩니다. –

+0

@David 여전히 같은 오류가 나타납니다. – PAVITRA

+0

친애하는 @PAVITRA 위 코드가 저에게 효과적입니다. 그것은 당신을 위해하지 않는 경우 뭔가 XML 파일에 문제가있는 것 같아요. xml 파일을 공유하여 도와 드리겠습니다. – David

관련 문제