Una cosa da notare è che DOMAIN\MACHINE-NAME$
è la sintassi utilizzata per rappresentare le credenziali della macchina nel dominio. Analogamente a come si dispone di un account utente, esiste anche un account computer quasi identico (tranne che le autorizzazioni sono significativamente diverse).
Poiché si ottiene DOMAIN\MACHINE-NAME$
non si dispone di un problema di rappresentazione. La prima cosa da fare è guardare il pool di applicazioni per vedere quale identità è in esecuzione come.
È possibile eseguire questa operazione aprendo Gestione IIS e selezionando Pool di applicazioni. Quindi selezionare il pool di applicazioni e fare clic su "Visualizza applicazioni" a destra, questo consente di verificare che tutto sia impostato correttamente.
Se è configurato correttamente poi cliccare su "Impostazioni avanzate ...", sotto il "Modello di processo" header c'è un campo di "Identità", dovrebbe essere uno dei seguenti:
- ApplicationPoolIdentity
- LocalService
- LocalSystem
- NetworkService
- DOMINIO \ account
Se ApplicationPoolIdentity è impostato come previsto, se non è uno personalizzato altrimenti, è probabile che si ottenga DOMAIN\MACHINE-NAME$
come si verifica. È dubbio un account personalizzato dal momento che si presenterebbe come tale account.
Se è ApplicationPoolIdentity e la macchina SQL non si trova sulla stessa macchina (o potenzialmente se si utilizza un nome host o un indirizzo IP), è possibile ottenere DOMAIN\MACHINE-NAME$
poiché si tratta delle credenziali di rete di ApplicationPoolIdentity. ApplicationPoolIdentity utilizza IIS AppPool\ApplicationPool
per l'accesso locale, ma DOMAIN\MACHINE-NAME$
per l'accesso remoto, poiché il primo è disponibile solo localmente.
Verificare inoltre che si stia effettivamente utilizzando quella stringa di connessione esatta, per i motivi sopra riportati in merito al metodo di accesso che è importante.
Se questo non lo risolve, sarebbe di aiuto se si dettagliasse quale Identità è stata impostata e se la rappresentazione di ASP.Net è abilitata.
la stringa di connessione viene generata da EF e rimane la stessa per tutte le distribuzioni. Quando funziona in tutto tranne uno, dubito che una citazione sanguinante sia il problema. – ProfK
@ProfK ok era solo l'unica cosa che potevo vedere sbagliato con esso –
Questo non è sbagliato. Ho citato l'intera stringa di connessione EF dal file web.config. Utilizza '"' in modo che un "effettivo" venga memorizzato come parte della stringa di connessione e non lo risolva – ProfK