C# ASP.Net可以';t登录/注册成功(在本地工作,但在Azure上不工作)

C# ASP.Net可以';t登录/注册成功(在本地工作,但在Azure上不工作),c#,asp.net,azure,login,asp.net-identity,C#,Asp.net,Azure,Login,Asp.net Identity,Edit2:我发现它正确登录并提供用户的cookie(.AspNet.applicationcokie),但当它在那里时(在部署的WebApp版本上运行时,而不是在本地运行时),不会加载任何内容,因此永久加载只是重定向到主页,我不知道它可能是什么。 起初,我认为是数据库连接出错或是其他原因。。。但我刚刚在本地的管理面板中登录时意识到,我试图使用部署的Web应用注册的帐户正在DB中成功注册,即使在注册后,您会被困在一个永久加载屏幕中 我不知道会出什么问题,因为它在本地是100%可用的,但不知何故,

Edit2:我发现它正确登录并提供用户的cookie(.AspNet.applicationcokie),但当它在那里时(在部署的WebApp版本上运行时,而不是在本地运行时),不会加载任何内容,因此永久加载只是重定向到主页,我不知道它可能是什么。

起初,我认为是数据库连接出错或是其他原因。。。但我刚刚在本地的管理面板中登录时意识到,我试图使用部署的Web应用注册的帐户正在DB中成功注册,即使在注册后,您会被困在一个永久加载屏幕中

我不知道会出什么问题,因为它在本地是100%可用的,但不知何故,当它部署在Azure中时,您似乎无法登录

编辑:今天早上我尝试登录,但它给了我一个运行时错误:

“/”应用程序中出现服务器错误。 运行时错误 描述:处理您的请求时发生异常。此外,在执行自定义命令时发生另一个异常 第一个异常的错误页。请求已被终止

现在有人问我更多信息:

当您在本地进行测试时,请确保应用程序不可用 在上的项目App_数据文件夹中创建任何.mdf文件 文件系统。如果是的话,这就清楚地表明了它为什么会起作用 本地部署,但部署到azure时不会。从技术上讲,你可以 独立的连接字符串,从而为您的 应用程序和您的应用程序服务

当我在本地测试时,App_Data文件夹中不会生成任何文件,因为它在部署时使用的数据库与在本地运行时使用的数据库相同->可以在本地和部署时注册新帐户

现在,请看以下内容:

请使用web.config文件更新您的问题。一定要

包括下的会员和角色管理器部分

。异常消息表示连接已断开 用于应用程序服务的字符串名称(表示 成员资格、角色管理等)引用的数据库 在应用程序数据目录中。请务必省略任何用户名和密码 当您发布web.config时,来自的密码

在我的Web.config中,我没有任何roleManager部分或成员资格(我不使用成员资格,但我使用roleManager?)

根据要求,以下是一些重要的注册代码:

这是当某人注册(AccountController)时发生的情况

[HttpPost]
[异名]
[ValidateAntiForgeryToken]
公共异步任务);
返回重定向到操作(“索引”、“主页”);
}
加法器(结果);
}
//如果我们走到这一步,有些东西失败了,重新显示形式
返回视图(模型);
}
这是ApplicationUser标识:

public class ApplicationUser : IdentityUser
    {
        public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
        {
            // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
            var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
            // Add custom user claims here
            return userIdentity;
        }
        public string paypalProfileID { get; set; }
        public bool? Subscribed { get; set; }
        public DateTime? StartSubscription { get; set; }
        public DateTime? EndSubscription { get; set; }
    }

    public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
    {
        public ApplicationDbContext()
            : base("DefaultConnection", throwIfV1Schema: false)
        {
        }

        public static ApplicationDbContext Create()
        {
            return new ApplicationDbContext();
        }
    }
公共类应用程序用户:IdentityUser
{
公共异步任务GenerateUserIdentityAsync(用户管理器)
{
//注意authenticationType必须与CookieAuthenticationOptions.authenticationType中定义的类型匹配
var userIdentity=wait manager.CreateIdentityAsync(这是DefaultAuthenticationTypes.ApplicationOkie);
//在此处添加自定义用户声明
返回用户身份;
}
公共字符串paypalProfileID{get;set;}
公共bool?订阅的{get;set;}
公共日期时间?StartSubscription{get;set;}
公共日期时间?EndSubscription{get;set;}
}
公共类ApplicationDbContext:IdentityDbContext
{
公共应用程序上下文()
:base(“DefaultConnection”,throwifvv1schema:false)
{
}
公共静态应用程序上下文创建()
{
返回新的ApplicationDbContext();
}
}
&$$&$$$$$$$$$$$$$$$$(!$(@()@$$)@(@$(@$

整个过程都是导航:

 @if (User.IsInRole("admin"))
                    {
                        <li>@Html.ActionLink("Admin", "AdminPage", "Admin")</li>
                    }
@if(User.IsInRole(“admin”))
{
  • @ActionLink(“Admin”、“AdminPage”、“Admin”)
  • }
    如果没有

    <system.webServer>
        <modules>
            <remove name="RoleManager" />
        </modules>
    </system.webServer>
    
    
    
    在Web.Config中

    &$$&$$$$$$$$$$$$$$$(!$(@())$$($)@(@$(@$

    整个过程都是导航:

     @if (User.IsInRole("admin"))
                        {
                            <li>@Html.ActionLink("Admin", "AdminPage", "Admin")</li>
                        }
    
    @if(User.IsInRole(“admin”))
    {
    
  • @ActionLink(“Admin”、“AdminPage”、“Admin”)
  • }
    如果没有

    <system.webServer>
        <modules>
            <remove name="RoleManager" />
        </modules>
    </system.webServer>
    
    
    
    在Web.Config中


    请共享您的代码,可能还有一些日志。@JackZeng注册/登录的代码是asp.net Web App项目(自动生成的注册/登录)的基本代码。请共享您的代码,可能还有一些日志。@JackZeng注册/登录的代码是asp.net Web App项目的基本代码(自动生成的注册/登录)