2013-04-10 98 views
2

ASP.NET中的哪些设置决定了网站将在哪里寻找代码隐藏文件(在哪个directorie(s))?站点使用来自错误目录的文件背后的代码?

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

直播现场:www.example.com在C的页面和代码:\ dev的\ \网站examplecom_new

开发网站:d3.example.com在C的页面和代码: \ dev \ websites \ examplecom-d2

为什么live site的目录以_new结尾,为什么dev站点的主机名为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元素的所有选项卡,但我找不到任何可以告诉网站使用live dir中的.cs文件而不是dev文件。

我尝试恢复Dev站点的前一版本(预更新版本)(为了以防万一,我总是在替换之前备份它们),以防万一出现配置更改时我不知道,但是旧版本会出现完全相同的问题,即使Checkout页面的URL在浏览器中显示了dev版本,Checkout页面仍会从实时调用代码,而不会调用代码。

不用说这是一个showstopper,发生的错误似乎是由于活动和开发之间的会话不匹配,但我不知道为什么开发站点调用代码从实况网站的代码在自己的目录中。任何指针可能是错误的将不胜感激。我已经尝试了谷歌搜索“从错误的目录调用的文件背后的asp.net代码”和相关的搜索,并搜索堆栈溢出的相同类型的东西,但没有看到任何相关的东西。我们不使用预编译的二进制文件,只是标准的.aspx页面和.aspx.cs C#代码文件。

起初,我会承担一定有一个硬编码的重定向从开发到生活踢了事情,不过,我可以看到没有人的踪迹,并在浏览器地址栏仍显示d3.example.com/Checkout.aspx时我曾希望重定向生活,将其更改为www版本。

的Web服务器是IIS 6,我们正在运行ASP 2.

+0

这是一个Web应用程序或网站类型的项目?如果它是一个网站,如果你修改网站中的某个文件会发生什么(所以会导致它重建)?你仍然体验到这种行为吗?你还可以在IIS中显示网站设置的屏幕截图吗? – mellamokb 2013-04-10 17:39:12

+0

尝试清理“Temporary ASP.NET Files”文件夹。 http://stackoverflow.com/questions/450831/what-is-the-temporary-asp-net-files-folder-for – 2013-04-10 18:05:34

+0

这是一个网站,包含大量的aspx及其伴侣aspx.cs页面。这是一个销售电话号码的电子商务网站。 我刚刚尝试对代码隐藏和.aspx页面进行小的编辑 - 并且都没有在浏览器的页面中显示。这几乎就像是从不正确的目录中读取此页面(Checkout.aspx/Checkout.aspx.cs)。但是,如果我删除整个目录内容,那么我会按预期的方式“拒绝目录列表”。 – Pyromancer 2013-04-10 18:05:40

回答

1

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

+0

或尝试添加开发应用程序的web.config文件的一个空行。它强制重新编译代码隐藏。 – 2013-04-10 18:46:48

+0

完全停止了IIS,完全清除了临时文件文件夹,然后重新启动。这解决了大部分“被删除的东西仍然显示”的问题 - 但不是结帐页面的问题。有一件事我意识到 - 问题只发生在HTTPS页面上,http的问题表现完全如预期。 – Pyromancer 2013-04-10 18:49:41

+0

PS:Ta为web.config中的信息重新空白行,将记住,方便。 – Pyromancer 2013-04-10 18:50:19

相关问题