Ссылка Asp.NET: страница теряет номер порта - PullRequest
0 голосов
/ 23 марта 2010

На этой странице asp.net есть ссылка, которая ведет на другую страницу в определенной подпапке, она всегда работала.

В последнее время по техническим причинам (неактуальным) номер порта пришлось сменить (от 80 до 81). Каждая ссылка продолжает работать, но есть ОДИН, который не сохраняет номер порта, несмотря ни на что.

<asp:HyperLink runat="server" Text="link1" NavigateUrl="~/default.aspx" /> | 
<asp:HyperLink runat="server" Text="LINK2" NavigateUrl="~/Secure/RACs/default.aspx" /> | 
<asp:HyperLink runat="server" Text="link3" NavigateUrl="~/Admin/page3.aspx" /> | 
<asp:HyperLink runat="server" Text="link4" NavigateUrl="~/Admin/page4.aspx" /> | 
<asp:HyperLink runat="server" Text="link5" NavigateUrl="~/Admin/page5.aspx" /> | 
<asp:HyperLink runat="server" Text="link6" NavigateUrl="~/Admin/page6.aspx" /> | 
<asp:HyperLink runat="server" Text="link7" NavigateUrl="~/Admin/page7.aspx" /> 

Как вы можете видеть, каждая ссылка получает свой URL через "~", и каждый из них получает номер порта: 81 после IP, но ссылка 2 просто не сохраняет номер порта (если вы нажмете на него, он теряет номер порта, затем, если вы добавляете его обратно в панель навигации в браузере, он работает, но затем и щелкает внутри него все, что ведет к любой другой странице в той же папке, возникает та же проблема)

Затем я проверил и сравнил заголовки и загрузку мастер-страниц, похоже, что ничего не повлияет на номер порта. Коды следуют:

LINK2 ведет к:

<%@ Page Language="VB" MasterPageFile="~/Common/MasterPage.master" Title="LINK2" Culture="pt-BR" UICulture="pt-BR" %>
<%@ Register TagPrefix="uct" TagName="RacControl" Src="~/Secure/RACs/RACControl.ascx" %>
<%@ Register TagPrefix="uct" TagName="DOCsControl" Src="DOCsControl.ascx" %>
<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
<%@ Import Namespace="Pm.Common.Type" %>

И (например) ссылка 3 приводит к:

<%@ Page Language="VB" MasterPageFile="~/Common/MasterPage.master" Title="LINK3" %>
<%@ Register TagPrefix="uct" TagName="link3" Src="~/Admin/UsersControl.ascx" %>
<%@ Register TagPrefix="uct" TagName="CreateUserControl" Src="~/Admin/CreateUserControl.ascx" %>

Где может возникнуть проблема, из-за которой страница теряет номер порта каждый раз, когда я хочу получить доступ к чему-либо в папке "/ secure / racs"?

Я буду наблюдать за этим вопросом, пожалуйста, прокомментируйте, что-нибудь поможет, и я отправлю больше кода, если потребуется.

- [ПРАВКА 1] - Запустив Fiddler и нажав одну ссылку (основную), которая теряет порт при нажатии, я получаю перенаправление:

альтернативный текст http://dl.dropbox.com/u/3045472/losingport.png

Хорошо то, что проблема не в запросе, плохо то, что я не знаю, что перенаправляет его на порт по умолчанию, в то время как остальные страницы не перенаправляются.

1 Ответ

0 голосов
/ 23 марта 2010

Вы уверены, что папка Secure не настроена для перенаправления на HTTPS-соединение, и причина, по которой она теряет порт, заключается в том, что она фактически находится на порту 443?

В чем разница между конфигами каталогов Admin и Secure в IIS?

Возможно, вам следует использовать прокси-инструменты Fiddler или Charles , чтобы увидеть, что на самом деле происходит с запросом из вашего браузера?

...