长期潜伏者,第一次海报。
我正在编写WEBAPI并对默认输出有一些疑问。我知道输出是基于请求中的ACCEPT(json / xml等)。但是,我需要完全控制输出。我将格式化自己的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
在我的通话功能中,当我尝试时: 返回Authenticate()
我收到错误: 类型的价值' System.net.http.httpresponsemessage'无法转换为String
似乎在.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)
看起来您正在尝试将Authenticate的返回值用作字符串。我不确切知道你要做什么,但我认为.ToString()
会有用。
Dim foo As String = Authenticate().ToString()
' Do whatever with foo here...use it as a string
答案 1 :(得分:0)
你的问题很清楚。你有
Public Function [Login](<FromUri> staff As login) As String
您需要将控制器声明为
Public Function [Login](<FromUri> staff As login) As HttpResponseMessage