相关疑难解决方法(0)

我应该忽略偶尔出现的无效视图状态错误吗?

每隔一段时间(每天一次)我们在ASP.NET 3.5应用程序的日志中看到以下类型的错误

  • 视图状态无效
  • 无效的回发或回调参数

这些东西是否只是偶尔发生在ASP.NET应用程序中?有人会建议我们花很多时间来诊断导致问题的原因吗?

asp.net viewstate error-handling

56
推荐指数
2
解决办法
3万
查看次数

IE 8丢弃内存页面?

这个问题的一个分拆/进化这个问题.(那个问题被标记为已经解决了,因为我对它提出了一个赏金并且它自动解决了,但它从未得到过真正的回答.)

摘要是这样的:我们有一个ASP.NET站点.有时候,当客户要求奇怪的网址时,我们会收到错误.根据客户端要求的资源,看起来html源中缺少4k块文本.

一个简单的例子......如果我们有一个看起来像这样的页面:

<a href="myValidLink.aspx">Here's some text</a>
a bunch more stuff
...(a large block of text)...
AND NOW MORE STUFF LATER
Run Code Online (Sandbox Code Playgroud)

客户可能会要求提供网址:"myValidLiORE%20STUFF%20LATER".

它就好像html源的一部分不在那里......而那个缺失的部分似乎正好是4KB(4096字节)长(或根据某些人,有时是1KB?).

不幸的是,我们无法按需复制此错误,但我们每天都会看到它多次来自客户端.

起初我们认为这是Webresource.axd的一个问题,因为我们碰巧在那里看到了很多......但现在我认为这主要是因为我们将类似的错误归为一类,并且当发生损坏时这些错误往往会发生在那个特定的地区.现在我正在研究更广泛的问题,我看到的地方我们得到了非常不同的错误,看起来它们是由同样的辍学问题造成的.

我们已经在IE 8中看到了很多,并且随着IE 8变得越来越流行,它变得越来越频繁.我们偶尔会看到它自称为IE 7的浏览器......如果IE 8进入"兼容模式",IE 8将会这样做.

我的理论,在这一点上(我试图找到一种测试方法)是Web服务器正确地发送字节流中的所有数据......并且浏览器IE 8有问题,并在某些条件下删除它的内存页(4k).

然而,我有点担心这个理论,因为显然有些人报告说这种"偶尔"使用IE 6或FF 3 ......这些往往是异常值,可能只是具有类似症状的不同问题,但如果这些浏览器真的是一样的东西,这会让我的理论脱离水面.不过,我现在还没有更好的主意.

我所拥有的另一个想法可能是服务器上相对较新的服务包导致向客户端提供的数据出现问题,偶尔会丢失4KB.这个理论的问题在于它没有解释IE8上错误的优势,以及其他客户端浏览器上的错误.

所以这些问题最终会得到答案:

  1. 有人遇到过这种情况么?(也许现在它在你的雷达上?)
  2. 任何人都能一致地复制这个问题吗?
  3. 有什么想法是什么?你能证实或反驳我的理论吗?
  4. 有任何修复或解决方法吗?

memory internet-explorer

25
推荐指数
1
解决办法
5997
查看次数

生成的Webresource.axd参数无效

原始问题:

WebResource.axd url生成有一个奇怪的错误.(它似乎与相当常见的"WebRsource.axd Padding无效且无法删除"问题有关).

我们有一个ASP.NET网页,在创建时,会向WebResource.axd添加一个脚本引用.

在这种情况下,我们看到WebResource.axd链接偶尔会变成某个点的垃圾,取而代之的是看似javascript的东西.更糟糕的是,网址生成失败似乎是不一致的.

在我们的例子中,链接应该(而且通常不会像):

/WebResource.axd?d=D-wd7RbHCvSp_p0mHAmE4g2&amp;t=633464867255568315
Run Code Online (Sandbox Code Playgroud)

一切都很好.但是,我们收到用户记录的错误...以及他们尝试访问的网址(在一种情况下):

/WebResource.axd?d=D-wd7RbHCvS/../../images/icons/Ico_resize.gif')}}function%20ShowFilter_Manufacturer(){var%20div.......
Run Code Online (Sandbox Code Playgroud)

[该链接中剩余的已编码的javascript已被删除为无关]

更奇怪的是,我们从同一个用户那里快速连续获得了一些这些用户,他们显然正在尝试重新加载页面...每个网址略有不同.

/WebResource.axd?d=D-wd7RbHCvS<garbage>
/WebResource.axd?d=D-wd7RbHCvSp<garbage>
/WebResource.axd?d=D-wd7RbHCvSp_<garbage>
Run Code Online (Sandbox Code Playgroud)

在某些情况下,垃圾是编码的JavaScript,我已经看到了网址的一部分...完全空的参数字符串...我没有看到明显的模式.

顺便说一下,如果它是相关的,应该注意的是,我不相信这个WebResource不是一个除了在页面上包含某些功能时由.NET自动包含的股票WebResource ......在这种情况下,一个字段验证器.查看实际WebResource.axd的内容,可以看到非常标准的Javascript函数集,这些函数似乎是为处理泛型.NET事件而设计的.不是我们创造的任何东西.

有没有人见过这样的东西?(或者更好,是否有人理解为什么会发生这种情况,并提出消除它的方法?)

编辑0:一些其他信息:

第1项:在回答一个答案时,我们确保我们的脚本包含CDATA标签,因为我们的doctype是xhtml transitional:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Run Code Online (Sandbox Code Playgroud)

不幸的是,尽管我们寄予厚望,但它似乎并没有解决问题.我们已经更多地注意到IE 8作为一个浏览器,这可以让人相信这是与浏览器相关的想法...也许是浏览器解析流的方式......但为什么我们会得到微妙的不同响应随后的尝试让我感到困惑.

第2项:事实证明,省略的部分似乎是相当规则的块.有人报告说他看到丢失了1k或4k的区块,而我(到目前为止......我只看了两个案例)会同意(我的两个数据都丢失了4096字节).

asp.net webresource.axd invalid-url

14
推荐指数
3
解决办法
1万
查看次数