0

我们将 Web 应用程序从 asp 3.5 升级到 4.0 框架,但存在一些小问题。现在,我曾经能够调试抛出和错误的代码块,但是一旦我以发布模式编译和发布它并将其部署到服务器,它就可以正常工作。服务器是 2008 企业版 iis 7。代码块如下。出现问题。当页面更改为 ihttphandler 类型时,可以处理页面的请求。当该行命中时,我得到 IIS 必须处于集成模式。我检查了项目。它正在使用本地 ISS。应用程序池设置为集成。正在尝试的是在内存中呈现页面,以便我可以获取页面上包含的控件。我不明白为什么它一旦发布和部署就可以工作。

    Private Sub RetrieveControls(ByVal file As String)
        If Not String.IsNullOrEmpty(file) Then
            Dim s As New System.IO.MemoryStream()
            Dim w As New System.IO.StreamWriter(s)
            Dim path As String = Me.Request.Url.AbsolutePath
            path = path.Remove(path.LastIndexOf("/") + 1)
            Dim wr As New System.Web.Hosting.SimpleWorkerRequest(path & file, "security=true", w)

            Dim t As Type = System.Web.Compilation.BuildManager.GetCompiledType(path & file)
            Dim p As Page = Activator.CreateInstance(t)
            p = BuildManager.CreateInstanceFromVirtualPath("~/Screens/" & file, t)
            Dim con As New HttpContext(wr)


            CType(p, IHttpHandler).ProcessRequest(con)



            Dim containerPC As ContentPlaceHolder = p.Form.FindControl("PageContent")
            Dim containerBC As ContentPlaceHolder = p.Form.FindControl("ButtonContent")

            RecursiveControlDrill(containerPC)
            RecursiveControlDrill(containerBC)
            Master.sm.ModifyData(m_ci, "Controls", SessionManager.SessionDataType.Temporary)
        End If
    End Sub
4

1 回答 1

0

我找到了答案。通过组织范围的更新框架 4.5 安装在开发人员机器上。一旦将其删除并重新安装了 4.0,现在一切都可以正常工作了。

于 2012-11-21T17:23:14.993 回答