Visual studio 2013 在Chrome中停止调试后Visual Studio ASP.NET崩溃
我正在开发一个可以将音频文件传输到浏览器的网站。这是我在Visual Studio 2013中开发的asp.net应用程序。使用范围请求头,使用部分内容响应将音频流传输到客户端im。代码如下所示:Visual studio 2013 在Chrome中停止调试后Visual Studio ASP.NET崩溃,visual-studio-2013,crash,Visual Studio 2013,Crash,我正在开发一个可以将音频文件传输到浏览器的网站。这是我在Visual Studio 2013中开发的asp.net应用程序。使用范围请求头,使用部分内容响应将音频流传输到客户端im。代码如下所示: [HttpGet, ActionName("GetFile")] public HttpResponseMessage GetFile(string fileName) { var rootPath = AppDomain.CurrentDomain.BaseD
[HttpGet, ActionName("GetFile")]
public HttpResponseMessage GetFile(string fileName)
{
var rootPath = AppDomain.CurrentDomain.BaseDirectory;
var fullPath = Path.Combine(rootPath, "SoundFiles", fileName);
byte[] file = File.ReadAllBytes(fullPath);
var mediaType = MediaTypeHeaderValue.Parse("audio/mpeg");
var memStream = new MemoryStream(file);
if (Request.Headers.Range != null)
{
try
{
var partialResponse = Request.CreateResponse(HttpStatusCode.PartialContent);
partialResponse.Content = new ByteRangeStreamContent(memStream, Request.Headers.Range, mediaType);
return partialResponse;
}
catch (InvalidByteRangeException invalidByteRangeException)
{
return Request.CreateErrorResponse(invalidByteRangeException);
}
}
else
{
var fullResponse = Request.CreateResponse(HttpStatusCode.OK);
fullResponse.Content = new StreamContent(memStream);
fullResponse.Content.Headers.ContentType = mediaType;
return fullResponse;
}
}
每次播放歌曲时,都会调用此方法从服务器获取文件,并将其部分流式传输到客户端。整个应用程序是用Signal构建的
这对我来说非常有效,代码没有问题。在我买了一台新电脑之前,我通常在电脑上安装Visual Studio 2013,包括IIS Express 8.0等。但这台电脑发生了一些奇怪的事情
如果我开始用Google Chrome进行调试,然后如果我对网站做了正常的事情,但没有播放歌曲(没有调用该方法),然后再次停止调试,我就没有问题了。但是如果我在Chrome中启动它并播放歌曲(调用该方法),然后尝试停止调试,VisualStudio会冻结,但没有信息表明它正在挂起。只是挂着,我关不上。我甚至无法与任务管理器一起关闭它。没有显示错误。如果我试图关闭我的电脑,那么电脑将不会关闭,直到我按下电源按钮很长一段时间。现在奇怪的是:如果我尝试完全相同的东西,但在InternetExplorer中,VisualStudio工作正常,根本不挂起。只有在我使用Chrome进行调试并且仅在运行VisualStudio的同一主机上,才会发生这种情况。如果我将Chrome连接到网络中的其他设备上,则不会产生任何效果
我发现,我可以在不进行调试的情况下运行应用程序。如果我这样做,效果会很好,但如果我播放一首歌,然后尝试关闭Visual Studio,它会很快挂起约30秒,然后退出
我无法找出问题所在
我已经尝试过的是:
- 重新安装Visual Studio 2013
- 尝试使用Visual Studio 2015,效果相同
- 重新安装Windows 8.1
- 在Visual Studio中重置导入/导出设置
- 以管理员身份运行Visual Studio
- 将声音文件移动到其他目录
- 试试谷歌Chrome金丝雀,效果也一样
你们知道是什么导致了这个问题吗?好的,我没有找到问题,但我找到了解决办法。因为它是一台新电脑,所以上面有一点臃肿的东西。我卸载了我不需要的东西,然后它神奇地工作了。再也没有撞车了。我有一台华硕ROG G20AJ。我不知道到底是哪个臃肿软件导致了这个问题,但它是其中的一部分。因此,如果您在华硕计算机上遇到类似问题,请尝试卸载一些未使用的软件 这不是Visual Studio崩溃,而是IIS服务。我真的认为这是一个非常奇怪的行为,因为只有当我执行上面的代码片段时,崩溃才会发生。。。不管怎样,它现在起作用了