Skip to content

Commit 80d9dc8

Browse files
committed
implement for netfx and enable tests
1 parent a155490 commit 80d9dc8

File tree

4 files changed

+220
-116
lines changed

4 files changed

+220
-116
lines changed

src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlCachedBuffer.cs

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
using System.Reflection;
1111
using System.Runtime.CompilerServices;
1212
using System.Xml;
13+
using Microsoft.Data.SqlTypes;
1314

1415
namespace Microsoft.Data.SqlClient
1516
{
@@ -134,26 +135,7 @@ internal SqlXml ToSqlXml()
134135
[MethodImpl(MethodImplOptions.NoInlining)]
135136
internal XmlReader ToXmlReader()
136137
{
137-
//XmlTextReader xr = new XmlTextReader(fragment, XmlNodeType.Element, null);
138-
XmlReaderSettings readerSettings = new XmlReaderSettings();
139-
readerSettings.ConformanceLevel = ConformanceLevel.Fragment;
140-
141-
// Call internal XmlReader.CreateSqlReader from System.Xml.
142-
// Signature: internal static XmlReader CreateSqlReader(Stream input, XmlReaderSettings settings, XmlParserContext inputContext);
143-
MethodInfo createSqlReaderMethodInfo = typeof(System.Xml.XmlReader).GetMethod("CreateSqlReader", BindingFlags.Static | BindingFlags.NonPublic);
144-
object[] args = new object[3] { ToStream(), readerSettings, null };
145-
XmlReader xr;
146-
147-
new System.Security.Permissions.ReflectionPermission(System.Security.Permissions.ReflectionPermissionFlag.MemberAccess).Assert();
148-
try
149-
{
150-
xr = (XmlReader)createSqlReaderMethodInfo.Invoke(null, args);
151-
}
152-
finally
153-
{
154-
System.Security.Permissions.ReflectionPermission.RevertAssert();
155-
}
156-
return xr;
138+
return SqlTypeWorkarounds.SqlXmlCreateSqlXmlReader(ToStream(), closeInput: false, async: false);
157139
}
158140

159141
public bool IsNull

0 commit comments

Comments
 (0)