Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 删除Global.asax仍在执行代码_C#_Web_Seo - Fatal编程技术网

C# 删除Global.asax仍在执行代码

C# 删除Global.asax仍在执行代码,c#,web,seo,C#,Web,Seo,我正在运行一个asp.net web应用程序,为了优化搜索引擎,我希望我购买的任何域名301重定向到我的首选域名 出于测试目的,我在本地主机项目中添加了一个Global.asax页面,并添加了以下代码: protected void Application_PreRequestHandlerExecute(Object sender, EventArgs e) { string currentUrl = HttpContext.Current.Request.Url.ToString()

我正在运行一个asp.net web应用程序,为了优化搜索引擎,我希望我购买的任何域名301重定向到我的首选域名

出于测试目的,我在本地主机项目中添加了一个Global.asax页面,并添加了以下代码:

protected void Application_PreRequestHandlerExecute(Object sender, EventArgs e) 
{ 
  string currentUrl = HttpContext.Current.Request.Url.ToString();
  if(!currentUrl.StartsWith("http://www.mydomain.org")) 
  { 
    string strStart = currentUrl.Substring(0, currentUrl.indexOf(@"/Pages"));
    Response.Status = "301 Moved Permanently"; 
    Response.AddHeader("Location", currentUrl.Replace(strStart, "http://www.mydomain.org")); 
    Response.End(); 
  } 
}
我换了一个“http://www.mydomain.org“使用我当前的一个域名。一切都按照我的要求进行。但是,现在当我从.asax文件中删除该代码,甚至完全删除asax文件时,该代码片段仍在运行。因此,有效地运行localhost项目会打开我的在线网站,我无法阻止这种行为

我已经做了以下工作:

  • 已删除“临时ASP.NET文件”文件夹中的所有内容
  • 已删除my/bin文件夹中的.dll和整个/obj文件夹
  • 清理并重建了我的解决方案
  • 创建了一个全新的解决方案,然后向其中添加了文件。这在一开始是可行的,但随着Global.asax文件的添加,同样的行为也会发生

虽然这是我最终想要的行为,但我希望在第一次实现它之后运行、调试和编辑它。我以前也见过同样的问题,但似乎通过上述方法之一解决了。请帮忙

您的问题与代码无关。这是你正在努力解决的301缓存问题


301缓存可能会在您的请求处理过程中的许多地方发生,从浏览器开始,其行为可能变得不可预测,因为这与您的代码无关。这是你正在努力解决的301缓存问题


301缓存可能会在您的请求执行过程中的许多地方发生,从浏览器开始,其行为可能会变得不可预测,因此

您是否尝试将调试器附加到IIS process worker实例以查看正在执行的代码?@Penfold我不太确定如何执行该操作。我正在调试,然后单击调试菜单中的“附加到进程”,然后单击我的网站的firefox进程。似乎什么也没做。以前没有这样做,所以不确定我是否做对了。不,您需要连接到正在执行代码的IIS进程。该进程将被称为w3wp.exe,如果在同一服务器上运行多个站点,则可能有多个进程。@Penfold-通过执行相同的操作(调试->附加到进程)确定那里没有名为w3wp.exe的文件。您是否尝试将调试器附加到IIS process worker实例以查看正在执行的代码?@Penfold我不太确定如何执行此操作。我正在调试,然后单击调试菜单中的“附加到进程”,然后单击我的网站的firefox进程。似乎什么也没做。以前没有这样做,所以不确定我是否做对了。不,您需要连接到正在执行代码的IIS进程。该进程将被称为w3wp.exe,如果您在同一台服务器上运行多个站点,则可能会有多个进程。@Penfold-好的,通过执行相同的操作(调试->附加到进程),那里没有名为w3wp.exeahaha的文件,这真是太好笑了!太简单了!不知道f5不会清除该缓存。我快疯了。感谢你澄清一下,我手动删除了firefox的缓存,进入选项->网络->缓存网页内容,点击“立即清除”啊哈,真是太好笑了!太简单了!不知道f5不会清除该缓存。我快疯了。感谢您澄清一下,我通过进入选项->网络->缓存的Web内容并单击“立即清除”手动删除了firefox的缓存