2014-06-18 4 views
0

장기간 lurker, 처음 포스터.기능에서 예기치 않은 반환 값

WEBAPI를 쓰고 있으며 기본 출력에 대해 몇 가지 질문이 있습니다. 출력은 요청 (json/xml 등)의 ACCEPT를 기반으로합니다. 그러나 출력을 완전히 제어 할 필요가 있습니다. 나는 내 자신의 XML을 포맷 할 것이다.

이 작업을 수행하는 방법에 대한 몇 가지 예를 찾아 냈습니다. 대부분 .cs로 변경되었으므로 vb.net으로 변경하려고합니다.

내가하려고 내 전화 기능에
 Public Function Authenticate() As HttpResponseMessage 
     Dim XML As String = "Message content" 
     Return New HttpResponseMessage() With { _ 
     .Content = New StringContent(XML, Encoding.UTF8, "application/xml") _ 
     } 
    End Function 

때 : 돌아 인증합니다()

내가 오류 얻을 : 유형의 값 'System.net 여기

내 시험 중 하나입니다 .http.httpresponsemessage '문자열로 변환 할 수 없습니다

많은 예제를 참조하십시오.이 상당히 .cs 사용되는 것 같습니다. 누구나 VB.NET에서이 작업을 수행하는 방법에 대한 아이디어가 있습니까?

내 컨트롤러 :

<HttpGet, HttpPost> _ 
Public Function [Login](<FromUri> staff As login) As String 
     Dim xmlheader As String 

     Dim head As New header 
     xmlheader = head.addheader() 

     If staff.password = "" Then 
     Dim result As String 
     Dim err As New messages 
     result = xmlheader & err.geterror("password") 
     Return Authenticate() 
     End If 
End Function 

감사합니다!

+0

으로 컨트롤러를 선언 할 필요가있다 당신은 컨트롤러에이를 호출하고 있습니까? –

+0

예, Contoller에서 Authenticate를 호출하려고합니다. – user3753921

+0

내 대답을 참조하십시오 –

답변

0

문제가 명확합니다. 당신은

Public Function [Login](<FromUri> staff As login) As String 

당신은

Public Function [Login](<FromUri> staff As login) As HttpResponseMessage 
+0

완벽한, 감사합니다! 나는 꽤 오랫동안 그 실수를 꼼짝 않고 바라보고 있었다! – user3753921

+0

문제 없습니다. 즐겨! –

0

Authenticate의 반환 값을 문자열로 사용하려는 것 같습니다. 나는 당신이 무엇을하려고하는지 정확히 모르지만, 나는 .ToString()이 잘될 것이라고 생각합니다.

Dim foo As String = Authenticate().ToString() 
' Do whatever with foo here...use it as a string 
+0

프로젝트의 출력을 인계받습니다. 이 경우 출력을 "메시지 내용"으로 지정하고 (이 시점에서) 서식을 지정하지 않습니다. 현재 컨트롤러에서 "Return"메시지 내용을 사용하여 "message content"를 얻을 수 있지만 실제로 XML 출력은 메시지 내용 "이됩니다. – user3753921

+0

Return Authenticate.Tostring 사용하기 컴파일 할 프로젝트를 얻었지만 다음과 같이 나타납니다. StatusCode : 200, ReasonPhrase : 'OK', 버전 : 1.1, 내용 : System.Net.Http.StringContent, 머리글 : { 콘텐츠 형식 : application/xml; charset = utf-8 } outpu .. 전혀 원하지 않는 것. 그래서 나는이 모든 잘못을 저 지르게 될 것입니다. 편집에 대한 사과는 구원 없이는 돌아갈 수없는 것처럼 보입니다. – user3753921

+0

한 걸음 더 뒤로 물러나십시오. 양식이 출력과 함께 전송되는 것을 어떻게 막을 수 있습니까? – user3753921

관련 문제