Näidisprotseduur: UII veebirakenduse adaptri loomine
Saate luua veebirakenduse adaptri, kui soovite täiustada ja muuta veebirakendusi, mille puhul teil puudub juurdepääs lähtekoodile või puuduvad õigused muutmiseks hallatavat koodi kasutades. Microsoft Dynamics CRM pakub Microsoft Visual Studio malli veebirakenduse adaptri loomiseks. Mall pakub põhilist koodi kommentaaridena, et aidata teil veebirakenduse adaptri loomisega alustada.
Selles näidisprotseduuris koostate välise veebirakenduse nimega QsWebApplication ja majutate selle asukohta Unified Service Desk. Seejärel saate luua ja konfigureerida veebirakenduse adaptri nimega MyWebApplicationAdapter, et väline veebirakendus saaks Unified Service Deskiga suhelda. Veebirakendusel on neli silti, üks kliendi eesnime, perekonnanime, aadressi ja ID jaoks ja neli vastavat tekstivälja, millel kuvatakse Unified Service Deski väärtused.
Selle teema sisu
Eeltingimused
1. samm: näidis-veebirakenduse koostamine
2. samm: veebirakenduse konfigureerimine Dynamics CRM-is
3. samm: veebirakenduse testimine
4. samm: veebirakenduse adaptri loomine
5. samm: veebirakenduse adaptri konfigureerimine Dynamics CRM-is
6. samm: veebirakenduse adaptri testimine
Eeltingimused
Microsoft .NET Framework 4.5.2
Unified Service Deski klientrakendus, mis on vajalik hostitud juhtelemendi testimiseks.
Microsoft Visual Studio 2012 või Visual Studio 2013
NuGet Package Manager rakendusele Visual Studio 2012 või Visual Studio 2013
Microsoft Dynamics CRM SDK mallid Visual Studiole, mis sisaldab UII hostitud juhtelemendi projekti malli. Võite selle hankida ühel järgmistest viisidest.
CRM-i SDK malli allalaadimine. Topeltklõpsake faili CRMSDKTemplates.vsix malli installimiseks Visual Studiosse.
CRM-i SDK paketi allalaadimine ja ekstraktimine. Minge kausta SDK\Templates. Topeltklõpsake faili CRMSDKTemplates.vsix malli installimiseks Visual Studiosse.
1. samm: näidis-veebirakenduse koostamine
Topeltklõpsake paketifaili sisu ekstraktimiseks.
Minge kausta <ExtractedFolder>\UII\SampleCode\UII\AIF\ QsWebApplication ja avage fail Microsoft.Uii.QuickStarts.QsWebApplication.csproj rakenduses Visual Studio.
Vajutage klahvi F5 või valige Silu > Alusta silumist näidis-veebirakenduse kohalikuks majutamiseks oma arvutisse. Rakendus majutatakse asukohta https://localhost:2627/.
2. samm: veebirakenduse konfigureerimine Dynamics CRM-is
Logige sisse rakendusse Microsoft Dynamics CRM.
Minge jaotisse Sätted > Unified Service Desk. (Kuidas ma sinna saan?)
Valige Hostitud juhtelemendid.
Valige Uus.
Määrake lehel Uus hostitud juhtelement järgmised väärtused.
Väli Väärtus Nimi
QsWebApplication
USD komponendi tüüp
CCA majutatud rakendus
Majutatud rakendus
Veebis majutatud rakendus
Rakendus on globaalne
Kontrollitud
Kuva rühm
MainPanel
Adapter
Ära kasuta adaptrit
Rakendus on dünaamiline
Ei
Rakenduse majutamine
Kasuta SetParentit
URL
Määrake asukoht, kus teie veebirakendus on majutatud. Praegusel juhul on see https://localhost:2627/
Valige Salvesta.
3. samm: veebirakenduse testimine
Veenduge, et 1. sammus koostatud veebirakendus endiselt töötab.
Käivitage Unified Service Deski klient oma Microsoft Dynamics CRM-i serveriga ühenduse loomiseks.
Sisselogimise õnnestumisel näete töölaual välist näidis-veebirakendust.
Klõpsake vahekaarti Väline näidis-veebirakendus, et näha oma Unified Service Deskis majutatud veebirakendust.
Märkus
Sel hetkel on väljad tühjad, sest majutate Unified Service Deskis ainult välist veebirakendust. Nende täitmiseks Unified Service Deski väärtustega tuleb luua veebirakenduse adapter, nagu on illustreeritud järgmises sammus.
4. samm: veebirakenduse adaptri loomine
Käivitage Microsoft Visual Studio ja looge uus projekt.
Tehke dialoogiboksis Uus projekt järgmist.
Laiendage vasakul asuvas installitud mallide loendis jaotist Visual C# ja valige CRM-i SDK mallid > Unified Service Desk > UII veebirakenduse adapter.
Määrake projekti nimi ja asukoht ning klõpsake uue projekti loomiseks OK.
Valige WebAppAdapter.cs ja värskendage definitsiooni NotifyContextChange järgmise koodiga, et lisada tekstiväljadele kontekstiteave. Lisateave: NotifyContextChange
public override bool NotifyContextChange(Context context) { // Populating text fields from context information. HTMLDocument htmlDoc = Browser.Document as HTMLDocument; if (htmlDoc != null) { IHTMLElementCollection htmlElementCollection = htmlDoc.all; IHTMLElement htmlFirstName = htmlElementCollection.item("txtFirstName", 0) as IHTMLElement; htmlFirstName.setAttribute("value", context["firstname"], 0); IHTMLElement htmlLastName = htmlElementCollection.item("txtLastName", 0) as IHTMLElement; htmlLastName.setAttribute("value", context["lastname"], 0); IHTMLElement htmlAddress = htmlElementCollection.item("txtAddress", 0) as IHTMLElement; htmlAddress.setAttribute("value", context["address1_line1"], 0); IHTMLElement htmlID = htmlElementCollection.item("txtID", 0) as IHTMLElement; htmlID.setAttribute("value", context["CustomerID"], 0); } return base.NotifyContextChange(context); }
Lisage järgmine kood alistamisdefinitsioonile DoAction rakenduse värskendamiseks Unified Service Deski väärtustega
public override bool DoAction(HostedWebApplication.WebAction action, ref string data) { Trace.WriteLine(string.Format("{0}>>>>> RECEIVED (WebAction) Action : {1} ", this.Name, action.Name)); // Check to see if the browser is working on something before allowing the system to do 'normal' behavior. if (Browser.WebBrowser.ReadyState != tagREADYSTATE.READYSTATE_COMPLETE) { // Browser is not in a state to process this request, Queue it for when the browser is ready to handle it. Trace.WriteLine(string.Format("{0}>>>>> Browser Busy,({2}) Queuing Action : {1} ", this.Name, action.Name, Browser.WebBrowser.ReadyState.ToString())); qReqActionList.Enqueue(new BrowserActionData(action, data)); return false; } Trace.WriteLine(string.Format("{0}>>>>>>>>>>> Action:Name={1} Action:Url={2} Action:Query={3} Action:Init={4}", this.Name, action.Name, action.Url, action.QueryString, action.Initialization)); // Get browser DOM and element collection. // Create an XML Document to load the passed in data to. HTMLDocument htmlDoc = Browser.Document as HTMLDocument; IHTMLElementCollection htmlElementCollection = htmlDoc.all; // Check action name for something we know how to process. switch (action.Name) { case "UpdateFirstName": IHTMLElement htmlFirstName = htmlElementCollection.item("txtFirstName", 0) as IHTMLElement; htmlFirstName.setAttribute("value", data, 0); break; case "UpdateLastName": IHTMLElement htmlLastName = htmlElementCollection.item("txtLastName", 0) as IHTMLElement; htmlLastName.setAttribute("value", data, 0); break; case "UpdateAddress": IHTMLElement htmlAddress = htmlElementCollection.item("txtAddress", 0) as IHTMLElement; htmlAddress.setAttribute("value", data, 0); break; case "UpdateID": IHTMLElement htmlID = htmlElementCollection.item("txtID", 0) as IHTMLElement; htmlID.setAttribute("value", data, 0); break; } return false; }
Salvestage oma projekt ja koostage see (Koosta > Koosta lahendus). Pärast projekti edukat koostamist luuakse assembler (MyWebApplicationAdapter.dll) teie projektikausta kaustas \bin\debug. Seda assemblerit on teil hiljem vaja veebirakenduse adaptri testimiseks ja kasutamiseks.
5. samm: veebirakenduse adaptri konfigureerimine Dynamics CRM-is
Logige sisse rakendusse Microsoft Dynamics CRM.
Valige navigeerimisribalt Microsoft Dynamics CRM ja valige siis Sätted.
Valige Sätted > Unified Service Desk > Hostitud juhtelemendid.
Valige hostitud juhtelementide loendist hostitud juhtelement QsWebApplication.
Määrake jaotises Adaptri konfiguratsioon järgmised väärtused.
Väli Väärtus Adapter
Kasuta adaptrit
URI
MyWebApplicationAdapter
Tüüp
MyWebApplicationAdapter.WebAppAdapter
Märkus
URI on teie assembleri nimi ja Tüüp on teie assembleri nimi (dll), millele järgneb punkt (.) ja seejärel klassi nimi teie Visual Studio projektis. Selles näites on assembleri nimi MyWebApplicationAdapter ja klassi nimi on WebAdapter, mis on klassi vaikenimi veebirakenduse adaptri loomisel.
Muudatuste salvestamiseks valige Salvesta.
6. samm: veebirakenduse adaptri testimine
Kopeerige veebirakenduse adaptri definitsiooni sisaldav assembler oma Visual Studio projekti väljundkaustast (<ProjectFolder>\bin\debug) Unified Service Deski rakenduse kausta. Praegusel juhul kopeerite faili MyWebApplicationAdapter.dll kataloogi c:\Program Files\Microsoft Dynamics CRM USD\USD.
Käivitage Unified Service Deski klient oma Microsoft Dynamics CRM-i serveriga ühenduse loomiseks.
Sisselogimise õnnestumisel näete töölaual välise näidis-veebirakenduse nuppu.
Valige Otsing, seejärel Kontaktid ja valige kontakt. Praegusel juhul valige Patrick Sands.
Klõpsake Väline näidis-veebirakendus ja näete kliendi eesnime, perekonnanime, aadressi ja ID-d.
Märkus
See näidisprotseduur näitas, kuidas lugeda või kuvada Unified Service Deski andmeid välises veebirakenduses. Andmete värskendamiseks Unified Service Deskis välise veebirakenduse kaudu ja vastupidi vt jaotist Näidisprotseduur: UII Windowsi vormide hostitud juhtelemendi loomine
Vt ka
Mõisted
Use UII adapters to interact with external and web applications
Unified Service Desk
Send comments about this topic to Microsoft.
© 2015 Microsoft. All rights reserved.