c# - 站点使用来自错误目录的文件背后的代码?

标签 c# asp.net iis-6 code-behind

ASP.NET 中的哪些设置决定了网站将在何处(如在哪个目录中)查找其代码隐藏文件?

我有两个版本的 asp.net c# 网站,Live 和 Dev。

实时站点:www.example.com,页面和代码位于 c:\dev\websites\examplecom_new

开发站点:d3.example.com,页面和代码位于 c:\dev\websites\examplecom-d2

实时站点的目录以 _new 结尾以及开发站点以 d3 作为其主机名并以 -d2 作为其目录名称的历史原因,但它们可以正常工作,直到现在我们还没有遇到任何问题,在 d3 上开发内容以供后续发布为了活着。

我最近刷新了开发站点,使其与现场站点完全相同(我通常在开始新一轮工作之前这样做),并开始了一些开发工作。但是,当我尝试通过网站运行代码时,即使浏览器显示的是 Dev URL,d3.example.com,错误消息引用了来自实时站点的 web 目录的代码文件,c:\dev\examplecom_new,不是开发版本 c:\dev\examplecom-d2。

我已经详细检查了代码,以确保没有对 www 站点或实时站点目录路径的硬编码引用,据我所知,没有。所有情况下的代码文件在 .aspx 文件中都被称为本地链接,例如:

<%@ Page Language="C#" MasterPageFile="~/ExampleCom.master" AutoEventWireup="true"
    CodeFile="Checkout.aspx.cs" Inherits="Checkout" Title="Untitled Page" %>

是的,我知道“无标题页面”不是世界上最有用的标题。 :)

我浏览了 web.config,查看了 app_code\general.cs,并检查了 IIS 中 Properties 元素上的所有选项卡,但我找不到任何可以告诉站点使用 .cs 文件的内容从实时目录而不是开发目录。

我尝试恢复开发站点的先前(预刷新)版本(我总是在替换之前备份它们,以防万一),以防万一有我不知道的配置更改,但旧版本完全显示同样的问题,结帐页面从实时而不是开发调用代码,即使它的 URL 在浏览器中显示开发版本。

毋庸置疑,这是一个大事件,正在发生的错误似乎是由于实时和开发之间的 session 不匹配,但我不知道为什么开发站点从实时站点调用代码而不是它的代码自己的目录。任何可能出错的指针都将不胜感激。我已经尝试过在谷歌上搜索“从错误目录调用的文件背后的 asp.net 代码”和相关搜索,并在 Stack Overflow 上搜索相同类型的东西,但没有看到任何相关内容。我们不使用预编译的二进制文件,只使用标准的 .aspx 页面和 .aspx.cs C# 代码文件。

起初,我认为一定有一个硬编码的重定向将事情从 dev 踢到 live,但是我看不到任何痕迹,并且浏览器地址栏仍然显示 d3.example.com/Checkout.aspx期望重定向能够将其更改为 www 版本。

网络服务器是 IIS 6,我们正在运行 ASP 2。

最佳答案

从命令行运行“iisreset”命令,然后清除临时文件夹。之后将重新编译所有应用程序。

关于c# - 站点使用来自错误目录的文件背后的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15932586/

相关文章:

c# - 更改页面上所有链接的默认url目录

c# - 如何在 Asp.net 中将值从一种形式传递到另一种形式

c# - 无法访问的代码和验证

c# - Process.Start - 如何将启动的可执行文件发送到后面(C#)

c# - 编译特定版本的 DotNetOpenAuth,稍作改动,签名问题

c# - 进入垃圾邮件文件夹的电子邮件

c# - IIS6 ASP.NET 2.0 应用程序缓存 - 大量数据的数据存储选项和性能

iis-7 - 如何使用 appcmd 在远程服务器上创建网站?

c# - IIS 虚拟文件夹 URL 加密

c# - 引发异常时不显示自定义错误页面