ASP.Net Web应用程序dll加载问题

本文关键字:加载 问题 dll 应用程序 Net Web ASP | 更新日期: 2023-09-27 17:59:24

我有一个自定义dll加载到我的web应用程序中,我更新了它,并在我的主web应用程序重新加载了引用。基本上,它的工作方式是用户上传一个文件,该文件由dll中的一个函数检查。然后,用户可以点击结果部分上的一个按钮,该按钮将重定向到应用程序的主要部分,这样他们就可以选择重新运行检查器;我之所以说section,是因为web应用程序使用了一个带有两个div的页面,一个用于表单,另一个用于结果,然后后面的代码将表单div的可见性与结果div进行交换,下面是要澄清的基本布局。

<body>
  <div id="divForm" style="visibility: visible;">
  </div>
<div id="divResults">
  </div>
</body>

重定向调用位于代码后面,如下所示:

protected void btnReturn_Click(object sender, EventArgs e)
        {
            Response.Redirect("http://localhost/file_checker/");
        }

文件检查器的主要部分:

protected void Page_Load(object sender, EventArgs e)
{
    divForm.Visible = true;
    divResults.Visible = false;
    if (Page.IsPostBack)
    {
       //Do file checking
       //Show results
       divResults.Visible = true;
       divForm.Visible = false;
    }
}

web应用程序在第一次通过时运行良好,但我注意到每次通过后都会出现奇怪的行为。例如,我注意到结果页面显示了旧版本dll中的过时内容,即它显示了由旧版本dll生成的字符串,我删除了该字符串,但它仍然会生成。我不确定我的重定向是否正确,或者我对重定向的工作方式是否有其他一些根本性的误解。如有任何帮助或见解,我们将不胜感激。

更新:

好吧,我没有重定向,而是在结果部分清除了一个网格视图,并交换了div的样式,以显示主部分并隐藏结果部分,如下所示:

protected void btnReturn_Click(object sender, EventArgs e)
        {
            //Clear the Gridview and show the upload Form
            GridView1.DataSource = null; //<--Is popoulated by a DataTable
            divForm.Visible = true;
            divResults.Visible = false;
            //Response.Redirect("http://localhost/file_checker/");
        }

这似乎解决了这个问题,我还有一个挥之不去的问题,那就是,我正在使用Datatable来填充结果页面中的Gridview。数据表是否在每次页面加载或按钮单击事件后自动处理?还是会持续下去?我只是想避免任何内存泄漏问题,因为每个页面加载都会实例化一个新的DataTable对象。

ASP.Net Web应用程序dll加载问题

响应。Redirect向浏览器发送302响应。浏览器然后向新位置发出新的请求。因此,这不是服务器端的操作,浏览器可以缓存响应,而不会再次调用。尝试附加一个querystring参数,使浏览器执行真正的请求。如果您有可用的fiddler,您可能会使用它来验证,但您可能是从缓存中获取页面的。

protected void btnReturn_Click(object sender, EventArgs e)
        {
            Response.Redirect(String.Format("http://localhost/file_checker/?{0}", DateTime.Now.Ticks));
        }