通过设置Page.AspCompatMode为True解决问题,但是对程序性能有影响。
MSDN上的信息:
Page.AspCompatMode 属性
此属性支持 .NET 基础结构,但不适合在代码中直接使用。
命名空间:System.Web.UI
程序集:System.Web(在 system.web.dll 中)
属性值
如果页支持 Active Server Page (ASP),则为 true;否则为 false。默认为 false。
备注
当设置为 true 时,此属性允许页在单线程单元 (STA) 线程上执行。这使页可以调用 STA 组件,例如使用 Visual Basic 6.0 开发的组件。将此属性设置为 true 还可以使页调用需要访问非托管 ASP 内置对象的 COM+ 组件。这些组件可以通过 ASP ObjectContext 对象或 OnStartPage 方法访问。
在大多数情况下不要在代码中设置该属性。使用 .aspx 文件的 @ Page 指令将 aspcompat 属性设置为 true。请求该页时,该属性将由动态生成的类进行设置。