ASP.NET中的神秘共享文件夹

时间:2015-05-08 20:41:16

标签: c# asp.net vb.net

我正在开发一个完美运行的WebFrom应用程序 测试(UAT)机器,但在生产机器中表现奇怪。

(使用复制/粘贴文件方法将代码发布到生产中):

以下代码:

<asp:LinkButton id="logoutlink" runat="server" OnClick="logoutlink_Click">Logout</asp:LinkButton>

代码背后:

protected void logoutlink_Click(object sender, EventArgs e)
        {
            Session.Abandon();
            FormsAuthentication.RedirectToLoginPage();

        }

在DEV和UAT环境中没有任何问题,但在生产中我们得到:

The resource cannot be found: Requested URL: /MyApp/shared/login.aspx  does not exist

令人惊讶的是此应用程序从未拥有共享文件夹。我在整个解决方案中搜索了对共享文件夹的任何引用,但找不到它。

也许RedirectToLoginPage方法默认查找Shared文件夹?即使我们假设这个,那么为什么DEv和UAT中的相同代码没有错误?

1 个答案:

答案 0 :(得分:1)

如果未在web.config身份验证标记中设置c.acct_ID = d.acct_ID参数,或者当您调用loginUrl方法时,默认情况下RedirectToLoginPage方法会在{{1}中搜索RedirectToLoginPage页面默认情况下,文件夹。 您可以在web.config中编写链接,如下所示:

login.aspx

使用您的链接设置 loginUrl 链接。

或者您可以像这样明确指定shared网址:

<system.web>
    ...
    <authentication mode="Forms">
      <forms loginUrl="Autentificare/Account/Login" defaultUrl="~/Home/Index" timeout="30" />
    </authentication>

...