2

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 上开发内容以供后续发布为了活着。

我最近刷新了开发站点,使其与现场站点完全相同(我通常在开始新一轮工作之前这样做),并开始了一些开发工作。但是,当我尝试通过网站运行代码时,即使浏览器显示的是开发 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 在浏览器中显示开发版本。

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

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

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

4

1 回答 1

1

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

于 2013-04-10T18:22:23.623 回答