我有一个HTML代码,
<div class="layout"
data-type="renderingCanvas"
data-format="canvas"
style="width:100px; height:100px">
</div>
其中data-type
指的是javascript文件,例如renderingCanvas将转到javascript文件名canvas.js,它将对png图像执行修改。
而data-format
只是一个包含所有类型(svg,canvas,bmp等)的结构。它只是为了确保格式有效。
现在,出于渲染目的,我将数据格式更改为“svg”..
<div class="layout"
data-type="renderingSVG"
data-format="svg"
style="width:100px; height:100px">
</div>
其中renderingSVG转到svg.js,并在svg文件上进行修改。
但这会造成堆损坏错误。喜欢它说
Program : iisexpress.exe
Heap Corruption detected : after normal block......(some memory references)
最奇怪的是,当我把它改回“画布”时,它的效果非常好。我的意思是,当我这样做时
<div class="layout"
data-type="renderingSVG"
data-format="canvas"
style="width:100px; height:100px">
</div>
即使我提到的格式是canvas,但它正在使用和修改svg图像。
我认为这是一个IIS快速错误,有人在网上发帖说,如果我们添加它可能会有效:
<staticContent>
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
</staticContent>
但它没有。有什么线索我做错了什么?或者是否需要添加任何内容来渲染svg图像。
PS:数据格式和数据类型实现没有错误。 IIS7 / IIS表达的行为相同吗?IIS5
PS(新更新):使用调试模式时,Visual Studio仅报告堆错误。使用发布模式时,它工作正常。奇怪!
答案 0 :(得分:1)
它在发布模式下工作正常并不奇怪。在发布模式下,它往往会忽略内存损坏,并向前发展。在发布模式下工作并不意味着您的程序正常。如果客户端实现没有错误,请检查服务器端。问题中提供的信息不足。