Ste*_*eve 6 vb.net asp.net asp.net-mvc-4 asp.net-web-api
我似乎已经找到了问题,但不知道如何修复它,或者我是否可以.
当我创建一个新C# WebAPI项目,并为System.Net.Http我可以访问
添加导入Request.CreateResponse<T>.
当我创建一个新VB.Net WebAPI项目,并为System.Net.Http我所拥有的所有内容添加导入时Request.createODataErrorResponse.
然而,CreateResponse无论如何我都可以忽略智能感知和访问.似乎VB只是没有正确解释各种扩展.
我想修复intellisense,但实际上并不需要它.
谢谢!
史蒂夫
更新 我发现这个论坛帖子在2012年8月回复,解释它已被复制,但似乎尚未修复.
我是新来的,应该关闭吗?
有一个解决方法
我想出了以下解决方案:
CreateResponse2创建调用原始CreateResponse方法的扩展方法Request.CreateResponse2(...))下面是我的解决方案:
创建一个新模块 HttpRequestMessageExtensions
Imports System.Net
Imports System.Net.Http
Imports System.Web
Imports System.Runtime.CompilerServices
Imports System.Web.Http
Public Module HttpRequestMessageExtensions
<Extension()> _
Public Function CreateResponse2(Of T)(ByVal request As HttpRequestMessage, statusCode As HttpStatusCode, value As T) As HttpResponseMessage
Return request.CreateResponse(Of T)(statusCode, value)
End Function
<Extension()> _
Public Function CreateResponse2(Of T)(ByVal request As HttpRequestMessage, statusCode As HttpStatusCode, value As T, Configuration As HttpConfiguration) As HttpResponseMessage
Return request.CreateResponse(Of T)(statusCode, value, Configuration)
End Function
<Extension()> _
Public Function CreateResponse2(Of T)(ByVal request As HttpRequestMessage, statusCode As HttpStatusCode, value As T, mediaType As String) As HttpResponseMessage
Return request.CreateResponse(Of T)(statusCode, value, mediaType)
End Function
<Extension()> _
Public Function CreateResponse2(Of T)(ByVal request As HttpRequestMessage, statusCode As HttpStatusCode, value As T, formatter As Formatting.MediaTypeFormatter) As HttpResponseMessage
Return request.CreateResponse(Of T)(statusCode, value, formatter)
End Function
<Extension()> _
Public Function CreateResponse2(Of T)(ByVal request As HttpRequestMessage, statusCode As HttpStatusCode, value As T, mediaType As Headers.MediaTypeHeaderValue) As HttpResponseMessage
Return request.CreateResponse(Of T)(statusCode, value, mediaType)
End Function
<Extension()> _
Public Function CreateResponse2(Of T)(ByVal request As HttpRequestMessage, statusCode As HttpStatusCode, value As T, formatter As Formatting.MediaTypeFormatter, mediaType As String) As HttpResponseMessage
Return request.CreateResponse(Of T)(statusCode, value, formatter, mediaType)
End Function
<Extension()> _
Public Function CreateResponse2(Of T)(ByVal request As HttpRequestMessage, statusCode As HttpStatusCode, value As T, formatter As Formatting.MediaTypeFormatter, mediaType As Headers.MediaTypeHeaderValue) As HttpResponseMessage
Return request.CreateResponse(Of T)(statusCode, value, formatter, mediaType)
End Function
End Module
Run Code Online (Sandbox Code Playgroud)
在控制器中的用法:
Return Request.CreateResponse2(Of SomeClass)(HttpStatusCode.BadRequest, objSomeClass)
Run Code Online (Sandbox Code Playgroud)
截屏:

| 归档时间: |
|
| 查看次数: |
6037 次 |
| 最近记录: |