Azure web sitelerine ev sahipliği yaptığım temel bir ASP.NET MVC 4 sitem var. Kimlik doğrulama, form kimlik doğrulamasıdır ve varsayılan şablondan özelleştirilmemiştir. Yayınladığım her zaman, sitemi tekrar ziyaret ettiğimde, bir hata mesajı vermeden önce çok uzun bir zaman aşımına (belki birkaç dakika) takılır. Tarayıcımdaki site için çerezleri silerek ve yeniden yükleyerek kurtarabilirim. MVC 4 uygulamasını azure'a yayınladıktan sonra kimlik doğrulama sorunları
Başlangıçta sorun sadece kimlik gerekli sayfalara erişmek için çalışıyordu, ama sonra bu katma benim_Layout.cshtml
paylaştı:
@if (User.IsInRole("Admin"))
{
<li>@Html.ActionLink("Admin", "Index", "Admin")</li>
}
şimdi hiç hiçbir sayfaları bir yeni yayımladıktan sonra erişilebilir demektir
ve böylece Sorunu düzeltmek için kullandığım başka bir yol olan çıkış bağlantısını bile tıklayamıyorum.
Yanlış yapılandırılmış bir şey var mı? Bir geçici çözümüm olsa da, kendimi kullanabilirim. Bu, bir güncelleme yayınladıktan sonra sitenin kullanıcıları için iyi bir deneyim olmayacaktır.
DÜZENLEME: ELMAH günlüklerden, form kimlik doğrulaması ben IsInRole çağırdığınızda SQL Express veritabanı oluşturmak için çalışıyor gibi görünüyor. Formlarımın kimlik doğrulaması her şey SQL Azure veritabanımı kullanacak şekilde ayarlandığı için bunu neden yaptığını göremiyorum.
System.Web.HttpException (0x80004005): Unable to connect to SQL Server database. ---> System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover)
at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, SqlConnection owningObject, Boolean withFailover)
at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, TimeoutTimer timeout)
at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, TimeoutTimer timeout, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.SqlClient.SqlConnection.Open()
at System.Web.Management.SqlServices.GetSqlConnection(String server, String user, String password, Boolean trusted, String connectionString)
ClientConnectionId:00000000-0000-0000-0000-000000000000
at System.Web.Management.SqlServices.GetSqlConnection(String server, String user, String password, Boolean trusted, String connectionString)
at System.Web.Management.SqlServices.SetupApplicationServices(String server, String user, String password, Boolean trusted, String connectionString, String database, String dbFileName, SqlFeatures features, Boolean install)
at System.Web.Management.SqlServices.Install(String database, String dbFileName, String connectionString)
at System.Web.DataAccess.SqlConnectionHelper.CreateMdfFile(String fullFileName, String dataDir, String connectionString)
at System.Web.DataAccess.SqlConnectionHelper.EnsureSqlExpressDBFile(String connectionString)
at System.Web.DataAccess.SqlConnectionHelper.GetConnection(String connectionString, Boolean revertImpersonation)
at System.Web.Security.SqlRoleProvider.GetRolesForUser(String username)
at WebMatrix.WebData.SimpleRoleProvider.GetRolesForUser(String username)
at System.Web.Security.RolePrincipal.IsInRole(String role)
Mark Bu soruyu kendiminkine benzer bir şekilde alıntıyorum ... http://stackoverflow.com/questions/24149044/two-chrome-sessions-on-the-same-machine-one-will-connect -siz-bizim-azure-web sitesi ve eğer aşağıdaki cevabın işe yarıyorsa, gerçekten senin yolunu zorlamak gerekir ... – hawbsl