问题描述
我正在 Azure Stack 上部署在 ASP.NET 中创建的网站。我试图在身份验证后重定向一个 ASPX 页面,它在我的本地机器上运行良好,但在发布后,即使凭据正确,它也不会转到此页面。以下代码来自 CS 页面。
Response.Redirect("~/TestPage.aspx",false);
Context.ApplicationInstance.CompleteRequest();
此页面包含
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<div class="row">
<div class="col-md-12">
<div class="panel panel-default">
<div class="panel-heading">
</div>
<br />
<div class="panel-heading">
<i class="fa fa-dashboard"></i><b>
<asp:Label ID="lblTestDashboard" runat="server" /></b>
</div>
<br />
<div class="panel-body">
<div>
DASHBOARD
</div>
</div>
</div>
</div>
</div>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder3" runat="server">
</asp:Content>
部署后,我遇到重定向到此页面的问题,但如果创建一个新网页并尝试重定向,则它可以轻松导航到此新页面。我在为为什么上面的页面无法重定向而苦苦挣扎。这段代码有问题吗?
解决方法
我检查了我的母版页写在哪里
HttpContext.Current.User.Identity.Name
AzureStack 不支持它,所以我通过会话传递用户名而不是这个,然后验证它。
string.IsNullOrEmpty(Convert.ToString(Session["UserID"]]
它奏效了。在 Azure Stack 上,Identity 永远不会工作。