2012-11-20 131 views
0

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

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 

回答

0

我找到了答案。通过组织范围的更新框架4.5安装在开发者机器上。一旦被删除,4.0重新安装,所有的东西现在都可以正常工作了。

相关问题