下午好,
XML模式验证代码段在开发/问答环境中可以正常工作,但是在Production中产生一些奇怪的验证结果。通常的怀疑是该代码对于线程是不安全的,并且Production场景的额外负担正在清除该错误。
确切的情况如下。考虑要验证的XML是:
<mssql:spExecute type="ResultSet" xmlns:mssql="urn:namespace">
<mssql:actor>IPASS</mssql:actor>
<mssql:connection>ConnectionString</mssql:connection>
<mssql:storedProcedure>dbo.RedFox</mssql:storedProcedure>
</mssql:spExecute>
Run Code Online (Sandbox Code Playgroud)
在整整一天的时间里,大约300次执行(> 2M)将产生以下异常:
System.Xml.Schema.XmlSchemaValidationException 未声明“ http://www.w3.org/2000/xmlns/:mssql”属性。
模式验证器似乎抱怨名称空间声明。
代码结构如下:
关于什么可能导致验证因名称空间声明而中断的任何想法?