Come posso caricare diversi endpoint per WCF in CLR SQL?
Domanda
Stiamo implementando alcune nuove chiamate WCF nel nostro DB SQL 2005 usando il CLR. Durante i test, ho codificato nel codice l'endpoint a cui connettermi e l'ho distribuito sul nostro server di prova. Quando andremo a distribuire questo alla produzione, lo distribuiremo a molti DB SQL diversi e utilizzeremo endpoint diversi per connetterci (stesso servizio in esecuzione su server diversi). Come si può fare qualcosa del genere? Esiste un file di configurazione a cui è possibile fare riferimento per la distribuzione della DLL in SQL?
Soluzione
Le soluzioni sopra funzionerebbero, ma abbiamo scoperto che l'approccio delle migliori pratiche sarebbe quello di creare una nuova tabella che memorizzi tutti i diversi endpoint nel DB. Quindi, abbiamo aggiornato il CLR per effettuare una chiamata a questa tabella per ottenere gli endpoint necessari. Quindi ogni server avrebbe i metadati corretti caricati per esso, e sarebbe tutto recuperato dal DB. Nessun hardcoding in questo modo, e non c'è bisogno di preoccuparsi dei file di testo esterni sul server SQL. È tutto contenuto nel DB.
Altri suggerimenti