【发布时间】:2011-02-07 02:03:37
【问题描述】:
我是一名 c# 开发人员,正在为 vb.net 中的网站编写一些代码。我们在 32 位 iss 6 win 2003 机器上使用了大量缓存,在某些情况下会遇到 OutOfMemoryException 异常。这是我追溯的代码,想知道其他人是否有这个...
Public Sub CreateQueryStringNodes()
'Check for nonstandard characters'
Dim key As String
Dim keyReplaceSpaces As String
Dim r As New Regex("^[-a-zA-Z0-9_]+$", RegexOptions.Compiled)
For Each key In HttpContext.Current.Request.Form
If Not IsNothing(key) Then
keyReplaceSpaces = key.Replace(" ", "_")
If r.IsMatch(keyReplaceSpaces) Then
CreateNode(keyReplaceSpaces, HttpContext.Current.Request(key))
End If
End If
Next
For Each key In HttpContext.Current.Request.QueryString
If Not IsNothing(key) Then
keyReplaceSpaces = key.Replace(" ", "_")
If r.IsMatch(keyReplaceSpaces) Then
CreateNode(keyReplaceSpaces, HttpContext.Current.Request(key).Replace("--", "-"))
End If
End If
Next
End Sub
.NET 框架版本:2.0.50727.3053; ASP.NET 版本:2.0.50727.3053
错误:
引发了“System.OutOfMemoryException”类型的异常。在 Go60505(RegexRunner) 在 System.Text.RegularExpressions.CompiledRegexRunner.Go() 在 System.Text.RegularExpressions.RegexRunner.Scan(正则表达式,字符串 文本,Int32 textbeg,Int32 textend,Int32 textstart,Int32 prevlen, 布尔快速)在 System.Text.RegularExpressions.Regex.Run(Boolean 快速,Int32 prevlen,字符串输入,Int32 开头,Int32 长度, Int32 startat) 在 System.Text.RegularExpressions.Regex.IsMatch(String 输入)在 Xcite.Core.XML.Write.CreateQueryStringNodes() 在 Xcite.Core.XML.Write..ctor(String IncludeSessionAndPostedData) 在 mysite._Default.Page_Load(Object sender, EventArgs e) at System.Web.UI.Control.OnLoad(EventArgs e) 在 System.Web.UI.Control.LoadRecursive() 在
谢谢
【问题讨论】: