2016-05-06 12 views
5

Ho creato un servizio Web e un database SQL su Azure e ho distribuito la mia app Web Asp.net e caricato il mio database sul server SQL di Azure. Successivamente ho creato una stringa di connessione per connettere la mia app Web al database, ma la mia app Web non può connettersi al database.Il servizio Web di Azure non è in grado di connettersi al database

enter image description here

+0

Qual è il messaggio di errore che stai ricevendo? Hai configurato le regole del firewall in modo appropriato? –

+0

Nella sezione Firewall "Consenti accesso ai servizi di Azure" è ON. Restituisce solo un timeout. – Alireza

+0

È possibile utilizzare il portale per connettersi al database manualmente utilizzando le credenziali specificate? – CtrlDot

risposta

1

Una soluzione rapida (il modo in cui lo faccio) è quello di utilizzare una risorsa collegata per aggiungere un database SQL database al tuo sito web utilizzando le Impostazioni applicazione lama: https://azure.microsoft.com/en-us/documentation/articles/web-sites-configure/

https://acom.azurecomcdn.net/80C57D/cdn/mediahandler/docarticles/dpsmedia-prod/azure.microsoft.com/en-us/documentation/articles/web-sites-configure/20160816064407/configure01.png

+0

Per aggiungere, sembra che l'OP stia provando a configurare un Mobile> Connessione dati. Anche la vista nel portale è in qualche modo diversa dallo screenshot (almeno da quello che vedo), ma c'è ancora un'opzione Impostazioni> Impostazioni dell'applicazione più in basso nel menu verticale. –

2

Bene, ho avuto anche questo problema. La causa del mio problema sono le mie impostazioni di pubblicazione.

Riassunto del mio problema,
ho usato Visual Studio (VS) di pubblicare il mio servizio app all'azzurro con impostazioni di pubblicazione di default, e anche se ho potuto accedere ai contenuti di front-end, non ho potuto accedere ai servizi di back-end . Per le operazioni di database, ho utilizzato Entity Framework e migrazione.

Per le macchine locali, tutto andava bene, ma su azzurro no.

risposta,
io semplice deselezionare "eseguire codice prime migrazioni" casella di controllo "Impostazioni" Step In pubblicano finestra modale, e azzurro tutto è andato bene, ma ho affrontato un altro problema, nessuna migrazione a tutti. Per risolvere il problema della migrazione, ho aggiunto un piccolo codice in Global.asax.cs:

protected void Application_Start() 
{ 
    AreaRegistration.RegisterAllAreas(); 
    GlobalConfiguration.Configure(WebApiConfig.Register); 
    FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 
    RouteConfig.RegisterRoutes(RouteTable.Routes); 
    BundleConfig.RegisterBundles(BundleTable.Bundles); 

    // For migration 
    try 
    { 
     System.Data.Entity.Database.SetInitializer(
      new System.Data.Entity.MigrateDatabaseToLatestVersion<MyWebApp.Contexts.ApplicationDbContext, MyWebApp.Migrations.Configuration>()); 
     var context = MyWebApp.Contexts.ApplicationDbContext.Create(); 
     context.Roles.Find("JustForDBMigrationKick"); 
     context.Dispose(); 
    } 
    catch (System.Exception e) 
    { 
     // Ooops, something went wrong 
    } 
} 
Problemi correlati