1

在测试版中,我注意到如果我调用带有空白的 URI,框架会引发异常。

(是的,通常浏览器会用 '%20' 替换空格,但如果我使用 fiddler 或我自己的 HTTP 客户端,我可以杀死 web api)

现在,Web Api 命中 RC,但这个 bug 仍然存在。(NullReferenceException) 微软知道这个错误吗?

堆栈跟踪:

在 Microsoft.VisualStudio.WebHost.Request.IsBadPath() 在 Microsoft.VisualStudio.WebHost.Request.TryParseRequest() 在 Microsoft.VisualStudio.WebHost.Request.Process() 在 Microsoft.VisualStudio.WebHost.Host.ProcessRequest(Connection conn)
在 Microsoft.VisualStudio.WebHost.Host.ProcessRequest(Connection conn) 在 Microsoft.VisualStudio.WebHost.Server.OnSocketAccept(Object acceptedSocket) 在 System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state) 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback 回调,对象状态,布尔 ignoreSyncCtx) 在 System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() 在 System.Threading.ThreadPoolWorkQueue.Dispatch() 在 System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

4

1 回答 1

1

异常的堆栈跟踪是什么?如果栈顶是这样的:

WebDev.WebHost40.dll!Microsoft.VisualStudio.WebHost.Request.IsBadPath() 第 435 行 + 0x1e 字节 C# WebDev.WebHost40.dll!Microsoft.VisualStudio.WebHost.Request.TryParseRequest() 第 182 行 + 0x9 字节 WebDev.WebHost40.dll !Microsoft.VisualStudio.WebHost.Request.Process() 第 94 行 + 0x9 字节 C# WebDev.WebHost40.dll!Microsoft.VisualStudio.WebHost.Host.ProcessRequest(Microsoft.VisualStudio.WebHost.Connection conn) 第 75 行 + 0xb 字节 C#

那么这是 Visual Studio Web 服务器中的一个已知错误。由于此 Web 服务器仅侦听 localhost,因此这不是安全问题,也不会被修复。

于 2012-06-19T16:24:28.423 回答