0

我有一个 HTML 代码,

<div class="layout"
                    data-type="renderingCanvas"
                    data-format="canvas"
                    style="width:100px; height:100px">
                </div>

wheredata-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>

renderSVG 转到 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>

尽管我提到的格式是画布,但它正在使用和修改 svg 图像。

我认为这是一个 IIS express 错误,有人在网上发布说,如果我们添加它可能会起作用:

  <staticContent>
      <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
    </staticContent>

但它没有。任何线索我做错了什么?或者是否需要添加任何东西来渲染 svg 图像。

PS:数据格式和数据类型实现没有错误。与 IIS7/IIS express 的行为相同?IIS5

PS(新更新):只有 Visual Studio 会在使用调试模式时报告堆错误。使用释放模式时,它工作正常。奇怪的!

4

1 回答 1

1

它在发布模式下工作正常并不奇怪。在释放模式下,它往往会忽略内存损坏,并继续前进。在发布模式下工作并不意味着您的程序很好。如果客户端实现没有错误,则检查服务器端。问题中提供的信息不充分。

于 2012-08-29T20:25:14.140 回答