Problemi noti di aggiornamento di applicazioni ed elementi
Aggiornamento di un'applicazione
La rimozione o l'eliminazione di un artefatto non lo rimuove da tutte le posizioni
La rimozione o l'eliminazione di un elemento comporta la relativa eliminazione dai database di BizTalk Server e di conseguenza l'elemento non viene più visualizzato nella Console di amministrazione né nell'elenco di elementi per un'applicazione generata dal comando BTSTask ListApp. Non rimuove l'artefatto dal Registro di sistema di Windows, dalla Global Assembly Cache (GAC), da una directory virtuale o dal file system, se presente in uno di questi percorsi. Nel caso delle porte di trasmissione, dei gruppi di porte di trasmissione e degli indirizzi di ricezione, che esistono solo nel database di gestione BizTalk, con questa operazione l'elemento viene eliminato completamente.
Aggiornamento di un elemento
La rimozione o la modifica dello stato di un artefatto può causare il mancato funzionamento di un'applicazione
Quando si aggiunge un riferimento da un'applicazione a un'altra e si apportano modifiche allo stato di un elemento da cui dipende un'altra applicazione oppure si rimuove l'artefatto, l'applicazione che ha la dipendenza non funzionerà correttamente. Per altre informazioni sulla modifica dello stato di un artefatto, vedere la sezione sull'elemento appropriato in Gestione degli artefatti (https://go.microsoft.com/fwlink/?LinkID=154725).
I file dei criteri .NET non sono supportati
L'uso dei file di criteri .NET non è supportato in BizTalk Server. Ciò è dovuto al fatto che un file di criteri potrebbe non funzionare correttamente. I file di criteri reindirizzano .NET a una versione dell'assembly specificata presente nella cache di assembly globale (GAC), ma BizTalk Server esegue in genere l'accesso ai dati di assembly e di elementi da una cache o dal database di gestione BizTalk. Il corretto funzionamento del file di criteri può dipendere dal tipo di elemento, dalla condizione della cache e dal fatto che le istanze host vengano riavviate o meno.
Aggiornamento di un assembly
Le modifiche apportate a un assembly potrebbero non essere effettive se l'host non viene arrestato
Gli assembly BizTalk devono seguire le regole di controllo delle versioni di .NET. Ne deriva principalmente che un progetto BizTalk, dopo essere stato generato con una particolare versione di un altro progetto o assembly .NET, compresi i progetti BizTalk, continua a utilizzare quella versione finché non viene rigenerato con una versione più recente.
Durante lo sviluppo si verifica un problema comune legato al controllo delle versioni .NET quando i numeri di versione in un progetto BizTalk non vengono cambiati e l'assembly viene ridistribuito senza arrestare e avviare l'istanza dell'host BizTalk in cui sono caricati i tipi.
Quando il processo viene rieseguito, le modifiche non diventano effettive. Ciò è dovuto al modo in cui gli assembly .NET vengono caricati in memoria. Poiché l'host ha già una copia in memoria dell'assembly, non ricarica l'assembly quando viene inserita una nuova copia nella Global Assembly Cache (GAC). Se, ad esempio, con un'orchestrazione viene distribuita ed eseguita la versione 1.0.0.0 di un assembly e vengono apportate modifiche all'orchestrazione senza però cambiare il numero di versione, le modifiche non diventano effettive. Dopo l'arresto dell'istanza host, la copia in memoria dell'assembly viene rilasciata e al riavvio dell'istanza host viene ricaricata la nuova copia dell'assembly e vengono recepite le modifiche. Se è stata distribuita una nuova versione, ad esempio la versione 2.0.0.0 e è stata caricata, le modifiche verrebbero applicate.
La modifica della versione dell'assembly può interrompere la relazione tra un assembly e gli elementi che vi fanno riferimento in base alla versione
Nello sviluppo di .NET Framework è in genere necessario aggiornare il numero di versione dell'assembly al numero di build corrente quando viene eseguita una compilazione. Tuttavia, quando si sviluppa una soluzione BizTalk, la modifica del numero della versione dell'assembly può interrompere la relazione tra un assembly e gli elementi dipendenti che fanno riferimento alla DLL in base al relativo numero di versione dell'assembly. Nella tabella seguente sono elencati gli elementi che fanno riferimento a un assembly BizTalk Server utilizzando il numero di versione e l'effetto della modifica di un numero di versione dell'assembly.
Entità | Effetto di modifica del numero di versione dell'assembly |
---|---|
File di associazione | La modifica del numero di versione dell'assembly causa l'errore di eventuali file di associazione esistenti che fanno riferimento all'assembly. Il motivo è che il file di associazione fa riferimento all'assembly in base agli attributi includendo il relativo numero di versione. È possibile aggiornare le informazioni sulla versione nel file di associazione mediante Blocco note o un altro editor. È anche possibile ridistribuire la soluzione e quindi rigenerare il file di associazione usando la console di amministrazione di BizTalk Server. È inoltre possibile utilizzare gli script per automatizzare la distribuzione e il controllo delle versioni. Per altre informazioni sulla distribuzione, vedere Distribuzione e gestione di applicazioni BizTalk (https://go.microsoft.com/fwlink/?LinkID=154210). |
File di definizione del profilo di rilevamento BAM (con estensione btt) | La modifica del numero di versione dell'assembly causa l'errore di eventuali file di definizione del profilo di rilevamento BAM esistenti. I file di rilevamento BAM sono in formato binario e non possono pertanto essere modificati ma solo rigenerati. Se sono necessari profili di rilevamento BAM può essere necessario eseguire una delle operazioni seguenti: - Evitare di aggiornare frequentemente i numeri di versione durante il processo di compilazione - Ritardare la compilazione dei profili di rilevamento BAM fino a quando i numeri di versione non sono stabili |
Servizi Web pubblicati mediante la Pubblicazione guidata servizi Web BizTalk | Quando la Pubblicazione guidata servizi Web viene utilizzata per produrre un'interfaccia Web ASP.NET, la versione assembly dell'assembly BizTalk Server viene inclusa nel codice sorgente ASP.NET. Il numero di versione dell'assembly viene usato in fase di esecuzione dall'interfaccia ASP.NET come parte della proprietà bodyTypeAssemblyQualifiedName dell'operazione del servizio Web. Se il numero di versione dell'assembly BizTalk Server viene modificato senza aggiornare la proprietà bodyTypeAssemblyQualifiedName, le operazioni successive del servizio Web verranno rifiutate da BizTalk Server. Se l'indirizzo di ricezione utilizza XmlDefaultPipeline, la sottoscrizione è basata sul tipo di documento. Utilizza le informazioni sull'assembly incorporato e non riuscirà se l'assembly non esiste. Se si utilizza PassThruPipeline (impostazione predefinita se si espone una porta e l'indirizzo di ricezione viene creato dalla procedura guidata), la sottoscrizione ignorerà le informazioni sull'assembly incorporato. |