Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Data di pubblicazione: novembre 2016
Si applica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016
Un listener ti consente di indirizzare l'output del registro ai file, al registro eventi o ad altre origini. Nella versione precedente di Unified Service Desk, potevi utilizzare solo i listener standard per scrivere i registri di controllo, diagnostica e traccia in Unified Service Desk.
Con Unified Service Desk 2.0, puoi configurare i listener personalizzati per registrare i dati di controllo, diagnostica e traccia. Specifica un listener personalizzato utilizzando il nuovo tipo di controllo ospitato denominato Controllo ospitato listener contenente un riferimento all'assembly (file .dll) contenente il codice del listener personalizzato.
In questo argomento
La creazione dei listener personalizzati richiede la partecipazione di chi?
Definire il listener personalizzato per Unified Service Desk
Prepararsi alla distribuzione del codice di esempio
Crea le istanze del Controllo ospitato listener per utilizzare il codice del listener personalizzato.
Passaggi successivi per l'amministratore
La creazione dei listener personalizzati richiede la partecipazione di chi?
La creazione e l'utilizzo dei listener personalizzati Unified Service Desk richiede la partecipazione degli sviluppatori e degli amministratori che lavorano insieme. Nella tabella seguente viene illustrato il processo.
Passaggio |
Da chi viene eseguito? |
Attività |
Vedi qui |
|---|---|---|---|
1 |
Sviluppatore |
Crea il codice per il listener personalizzato. |
Definire il listener personalizzato per Unified Service Desk |
2 |
Sviluppatore |
Comprime l'assembly in un file .zip per creare un file di personalizzazione per Unified Service Desk. |
Prepararsi alla distribuzione del codice di esempio |
3 |
Sviluppatore/Amministratore |
Crea le istanze del Controllo ospitato listener per utilizzare il codice del listener personalizzato. |
Crea le istanze del Controllo ospitato listener per utilizzare il codice del listener personalizzato. |
4 |
Amministratore |
Creare le istanze del record Impostazioni controllo e diagnostica per configurare le informazioni del registro di controllo, diagnostica e traccia. |
Technet: Configurare il controllo e la diagnostica in Unified Service Desk |
5 |
Amministratore |
Crea i file di personalizzazione e allega il file .zip creato dallo sviluppatore nel passaggio N. 2. |
|
6 |
Amministratore |
Allegare il record File di personalizzazione all'istanza appropriata dell'entità Configurazione. |
Technet: Associare il controllo e la diagnostica a una configurazione |
Definire il listener personalizzato per Unified Service Desk
Puoi combinare il codice del listener personalizzato per il controllo, la diagnostica e la registrazione della traccia in un unico assembly o in assembly diversi. La classe contenente il codice del listener deve essere derivata da:
IAuditService per i registri di controllo
ILogging per i registri di diagnostica
TraceListener per i registri di traccia
Nota
Prendi nota dello spazio dei nomi e dei nomi delle classi nel codice del listener. Dovrai fare in modo che creino istanze del controllo ospitato listener per fare riferimento al codice personalizzato.
Listener personalizzato per i registri di controllo
Nel codice di esempio seguente viene illustrato come creare un listener personalizzato che scrive i dati di controllo nel file USDAudit.log della cartella C:\USDLogs.
using Microsoft.Uii.AifServices;
using Microsoft.Uii.Common.Entities;
using Microsoft.Uii.Common.Logging;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SampleCustomUSDListener
{
public class CustomUSDAuditListener : IAuditService
{
public void SaveAudit(IEnumerable<Microsoft.Uii.Common.Entities.LogData> logCache)
{
LogToFile(logCache);
}
private void LogToFile(IEnumerable<LogData> logCache)
{
string filename = Path.GetPathRoot(Environment.SystemDirectory) + "USDLogs\\USDAudit.log";
foreach (var item in logCache)
{
try
{
File.AppendAllText(filename, item.GetLogData());
}
catch (Exception ex)
{
Logging.Error("USD",ex.StackTrace);
}
}
}
}
}
Listener personalizzato per i registri di diagnostica
Nel codice di esempio seguente viene illustrato come creare un listener personalizzato che scrive i dati di diagnostica nel file USDDiagnostics.log della cartella C:\USDLogs.
using Microsoft.Uii.Common.Logging;
using Microsoft.Uii.Common.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Configuration;
using System.Threading.Tasks;
namespace SampleCustomUSDListener
{
class CustomUSDDiagnosticListener : ILogging
{
string filename = Path.GetPathRoot(Environment.SystemDirectory) + "USDLogs\\USDDiagnostics.log";
public void Error(string applicationName, string message, string advanced)
{
File.AppendAllText(filename, "\nError is logged\n" + "\nApplication Name:\n" + applicationName + "\nMessage:\n" + message + "\nAdvanced:\n" + advanced);
}
public void Information(string applicationName, string message)
{
File.AppendAllText(filename, "\nInformation is logged\n" + "\nApplication Name:\n" + applicationName + "\nMessage:\n" + message);
}
public void Initialize(string name, System.Collections.Specialized.NameValueCollection configValue)
{
//Not needed
}
public bool ShowErrors
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}
public string Tag
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}
public void Trace(string applicationName, string message)
{
File.AppendAllText(filename, "\nVerbose is logged\n" + "\nApplication Name:\n" + applicationName + "\nMessage:\n" + message);
}
public void Warn(string applicationName, string message)
{
File.AppendAllText(filename, "\nWarning is logged\n" + "\nApplication Name:\n" + applicationName + "\nMessage:\n" + message);
}
}
}
Listener personalizzato per i registri di traccia
Nel codice di esempio seguente viene illustrato come creare un listener personalizzato che scrive i dati di traccia nel file USDTraces.log della cartella C:\USDLogs.
using System;
using System.Diagnostics;
using System.IO;
namespace SampleCustomUSDListener
{
class CustomUSDTraceListener : TraceListener
{
string filename = Path.GetPathRoot(Environment.SystemDirectory) + "USDLogs\\USDTraces.log";
public override void Write(string message)
{
File.AppendAllText(filename, message);
}
public override void WriteLine(string message)
{
File.AppendAllText(filename, message);
}
}
}
Prepararsi alla distribuzione del codice di esempio
Dopo aver compilato il codice del listener personalizzato in un file (.dll) dell'assembly, richiedi all'amministratore di distribuire il codice ai computer client in modo che possano utilizzare i listener personalizzati. Per distribuire i file personalizzati, comprimere i file insieme a un file [Content_Types].xml in un file .zip e fornire il file .zip all'amministratore perché venga allegato a un record Customization Files. Vedere Passaggi successivi per l'amministratore.
Il file [Content_Types].xml contiene informazioni sul tipo MIME delle estensioni del tipo di file incluse nel file .zip. In genere, i tipi di file sono: .config.dll, .exe e .xml. Tuttavia, puoi includere qualsiasi tipo di file supportato in Windows nel file [Content_Types].xml e nel file zip.
Di seguito è riportato un file [Content_Types].xml di esempio con i tipi di file elencati utilizzati in genere per la personalizzazione di Unified Service Desk:
<?xml version="1.0" encoding="utf-8"?>
<Types xmlns="https://schemas.openxmlformats.org/package/2006/content-types">
<Default Extension="config" ContentType="application/octet-stream" />
<Default Extension="dll" ContentType="application/octet-stream" />
<Default Extension="exe" ContentType="application/octet-stream" />
<Default Extension="xml" ContentType="application/octet-stream" />
</Types>
Crea le istanze del Controllo ospitato listener per utilizzare il codice del listener personalizzato.
Il nuovo controllo ospitato listener di Unified Service Desk ti consente di fare riferimento e di utilizzare il codice del listener personalizzato per la registrazione dei dati secondo il codice. L'area Informazioni sull'assembly nella nuova schermata del controllo ospitato consente di specificare i dettagli dell'assembly a cui desideri che faccia riferimento il controllo ospitato listener. Specifica il nome dell'assembly (.dll) nel campo URI assembly e <AssemblyName>.<ClassName> nel campo Tipo di assembly.<ClassName> deve essere la classe contenente il codice.
.jpeg)
Ad esempio, se consideri il codice di esempio per i listener personalizzati in precedenza in questo argomento e presupponi che tutti i codici di esempio verranno creati in un unico assembly denominato SampleCustomUSDListener.dll, devi creare un record controllo ospitato listener per il controllo, la diagnostica e l'analisi con i valori seguenti nei campi URI assembly e Tipo di assembly.
Controllo |
Diagnostica |
Traccia |
|---|---|---|
|
|
|
Salvare i record controllo ospitato listener.
Passaggi successivi per l'amministratore
L'amministratore deve ora eseguire le seguenti due operazioni per utilizzare il codice del listener personalizzato nell'organizzazione:
Creare i record Impostazioni controllo e diagnostica e allegare a essi il record controllo ospitato listener appropriato.Ulteriori informazioni:Technet: Configurare il controllo e la diagnostica in Unified Service Desk
Utilizza il file .zip per creare un record File di personalizzazione e quindi allegarlo al record Configurazione appropriato per consentire la distribuzione dell'assembly ai computer client quando effettuano l'accesso al server Dynamics 365 utilizzando il client Unified Service Desk .Ulteriori informazioni:TechNet: Technet: Distribuire controlli ospitati personalizzati utilizzando file di personalizzazione
Vedere anche
Estendere Unified Service Desk
Unified Service Desk 2.0
© 2017 Microsoft. Tutti i diritti sono riservati. Copyright