Processo di assunzioneHiring Process

In questo esempio viene illustrato come implementare un processo aziendale tramite attività di messaggistica e due flussi di lavoro ospitati come servizi flusso di lavoroThis sample demonstrates how to implement a business process using messaging activities and two workflows hosted as workflow services. e appartenenti all'infrastruttura IT di una società fittizia denominata Contoso, Inc.These workflows are part of the IT infrastructure of a fictional company called Contoso, Inc.

Il processo del flusso di lavoro HiringRequest, implementato come un oggetto Flowchart, chiede l'autorizzazione a diversi responsabili nell'organizzazione.The HiringRequest workflow process (implemented as a Flowchart) asks for authorization from several managers in the organization. Per raggiungere questo obiettivo, il flusso di lavoro vengono usati altri servizi esistenti dell'organizzazione (in questo caso, un servizio di posta in arrivo e un servizio dati organizzativo implementati come servizi Windows Communication Foundation (WCF) semplice).To achieve this goal, the workflow uses other existing services in the organization (in our case, an inbox service and an organizational data service implemented as plain Windows Communication Foundation (WCF) services).

Il flusso di lavoro ResumeRequest, implementato come un oggetto Sequence, pubblica un elenco di offerte di lavoro nel sito Web esterno delle carriere di Contoso e gestisce l'acquisizione dei curriculum.The ResumeRequest workflow (implemented as a Sequence) publishes a job posting in Contoso's external careers Web site and manages the acquisition of resumes. Tale elenco è disponibile nel sito Web esterno per un periodo fisso di tempo, ovvero fino alla scadenza di un timeout, o fino a quando un dipendente di Contoso non decide di rimuoverlo.A job posting is available in the external Web site for a fixed period of time (until a timeout expires) or until an employee from Contoso decides to remove it.

In questo esempio vengono illustrate le funzionalità .NET Framework 4.6.1.NET Framework 4.6.1 seguenti:This sample demonstrates the following features of .NET Framework 4.6.1.NET Framework 4.6.1:

  • Flussi di lavoro Flowchart e Sequence per modellare processi aziendaliFlowchart and Sequence workflows for modeling business processes.

  • Servizi flusso di lavoroWorkflow Services.

  • Attività di messaggisticaMessaging Activities.

  • Correlazione basata sul contenutoContent-based correlation.

  • Attività personalizzate (dichiarative e basate sul codice)Custom activities (declarative and code-based).

  • Persistenza di SQL Server fornita dal sistemaSystem-provided SQL server persistence.

  • Oggetto PersistenceParticipant personalizzatoCustom PersistenceParticipant.

  • Rilevamento personalizzatoCustom tracking.

  • Rilevamento ETW (Event Tracking for Windows)Event Tracking for Windows (ETW) Tracking.

  • Composizione di attivitàComposition of activities.

  • Attività ParallelParallel activities.

  • Attività CancellationScopeCancellationScope activity.

  • Timer durevoli (attività Delay)Durable timers (Delay activity).

  • TransazioniTransactions.

  • Uso di più di un flusso di lavoro nella stessa soluzioneMore than one workflow in the same solution.

Importante

È possibile che gli esempi siano già installati nel computer.The samples may already be installed on your machine. Verificare la directory seguente (impostazione predefinita) prima di continuare.Check for the following (default) directory before continuing.

<InstallDrive>:\WF_WCF_Samples

Se questa directory non esiste, andare al Windows Communication Foundation (WCF) e gli esempi di Windows Workflow Foundation (WF) per .NET Framework 4 per scaricare tutti i Windows Communication Foundation (WCF) e WFWF esempi.If this directory does not exist, go to Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 to download all Windows Communication Foundation (WCF) and WFWF samples. Questo esempio si trova nella directory seguente.This sample is located in the following directory.

<InstallDrive>:\WF_WCF_Samples\WF\Application\HiringProcess

Descrizione del processoDescription of the Process

Contoso, Inc. desidera avere stretto controllo sul personale presente in ciascun reparto.Contoso, Inc. wants to have close control of the headcount in each of its departments. Di conseguenza, tutte le volte che un dipendente desidera avviare un nuovo processo di assunzione deve passare attraverso un'approvazione del processo di richiesta di assunzione prima che la selezione possa effettivamente avere luogo.Therefore, anytime any employee wants to start a new hiring process, they need to go through a hiring request process approval before the recruiting can actually happen. Tale processo è denominato richiesta del processo di assunzione (definito nel progetto HiringRequestService) ed è costituito dai passaggi seguenti.This process is called hiring process request (defined in the HiringRequestService project) and consists of the following steps:

  1. Un dipendente (il richiedente) avvia la richiesta del processo di assunzione.An employee (the requester) starts the hiring process request.

  2. Il responsabile del richiedente deve approvare la richiesta:The requester’s manager must approve the request:

    1. Il responsabile può rifiutare la richiesta.The manager can reject the request.

    2. Il responsabile può restituire la richiesta al richiedente per ottenere informazioni aggiuntive.The manager can return the request to the requester for additional information:

      1. Il richiedente rivede la richiesta e la invia nuovamente al responsabile.The requester reviews and sends the request back to the manager.
    3. Il responsabile può approvare la richiesta.The manager can approve.

  3. Dopo che il responsabile del richiedente ha concesso l'approvazione, la richiesta deve essere approvata dal responsabile del reparto:After the requester’s manager approves, the department owner must approve the request:

    1. Il responsabile del reparto può rifiutare la richiesta.The department owner can reject.

    2. Il responsabile del reparto può approvare la richiesta.The department owner can approve.

  4. Dopo che il responsabile del reparto ha concesso l'approvazione, è necessaria l'approvazione di 2 responsabili delle risorse umane o del CEO.After the department owner approves, the process requires the approval of 2 HR managers or the CEO:

    1. Il processo può passare allo stato accettato o rifiutato.The process can transition to the accepted or rejected state.

    2. Se il processo viene accettato, verrà avviata una nuova istanza del flusso di lavoro ResumeRequest (ResumeRequest è collegato a HiringRequest.csproj tramite un riferimento al servizio.)If the process is Accepted, a new instance of the ResumeRequest workflow is started (ResumeRequest is linked to HiringRequest.csproj through a service reference.)

Dopo che i responsabili hanno approvato l'assunzione di un nuovo dipendente, il reparto risorse umane deve individuare il candidato adatto.Once the managers approve the hiring of a new employee, HR must find the appropriate candidate. Questo processo viene eseguito dal secondo flusso di lavoro (ResumeRequest, definito in ResumeRequestService.csproj).This process is performed by the second workflow (ResumeRequest, defined in ResumeRequestService.csproj). Tale flusso di lavoro definisce il processo per l'invio di un elenco di offerte di lavoro con un'opportunità di carriera al sito Web esterno delle carriere di Contoso, riceve i curriculum dei candidati ed esamina lo stato dell'elenco.This workflow defines the process for submitting a job posting with a career opportunity to Contoso's external Careers Web site, receives resumes from applicants, and monitors the state of the job posting. Le posizioni sono disponibili per un periodo fisso di tempo, ovvero fino a una scadenza predeterminata, o fino a quando un dipendente di Contoso non decide di rimuoverle.Positions are available for a fixed time period (until a time expires) or until an employee from Contoso decides to remove it. Il flusso di lavoro ResumeRequest è costituito dai passaggi seguenti.The ResumeRequest workflow consists of the following steps:

  1. Un dipendente di Contoso inserisce le informazioni sulla posizione e una durata del timeout.An employee from Contoso types in the information about the position and a time-out duration. Dopo che il dipendente ha inserito tali informazioni, la posizione viene pubblicata nel sito Web delle carriere.Once the employee types in this information, the position is posted in the Careers Web site.

  2. Dopo la pubblicazione delle informazioni, le parti interessate possono inviare il curriculumOnce the information is published, interested parties can submit their resumes. che viene archiviato in un record collegato all'apertura della pratica.When a resume is submitted, it is stored in a record linked to the job opening.

  3. I candidati possono inviare il proprio curriculum fino alla scadenza del timeout o fino a quando un appartenente al reparto risorse umane di Contoso non decide in modo esplicito di rimuovere l'elenco arrestando il processo.Applicants can submit resumes until the time-out expires or someone from Contoso HR department explicitly decides to remove the posting by stopping the process.

Progetti presenti nell'esempioProjects in the sample

Nella tabella seguente vengono illustrati i progetti presenti nella soluzione di esempio.The following table shows the projects in the sample solution.

ProjectProject DescrizioneDescription
ContosoHRContosoHR Contiene contratti dati, oggetti business e classi del repository.Contains data contracts, business objects and repository classes.
HiringRequestServiceHiringRequestService Contiene la definizione del flusso di lavoro relativo al processo di richiesta di assunzione.Contains the definition of the Hiring Request Process workflow.

Il progetto viene implementato come un'applicazione console che ospita in modalità self-hosting il flusso di lavoro (file con estensione xaml) come un servizio.This project is implemented as a console application that self-hosts the workflow (xaml file) as a service.
ResumeRequestServiceResumeRequestService Servizio flusso di lavoro che raccoglie i curriculum dei candidati fino alla scadenza di un timeout o fino a quando qualcuno non decide che il processo deve essere arrestato.A workflow service that collects resumes from candidates until a time-out expires or someone decides that the process has to be stopped.

Il progetto viene implementato come un servizio flusso di lavoro dichiarativo (file con estensione xamlx).This project is implemented as a declarative workflow service (xamlx).
OrgServiceOrgService Servizio che espone informazioni organizzative (dipendenti, posizioni, tipi di posizioni e reparti).A service that exposes organizational information (Employees, Positions, PositionTypes, and Departments). Questo servizio può essere paragonato al modulo di organizzazione dell'azienda di una pianificazione ERP (Enterprise Resource Plan).You can think of this service as the Company Organization module of an Enterprise Resource Plan (ERP).

Questo progetto viene implementato come un'applicazione console che espone un servizio Windows Communication Foundation (WCF).This project is implemented as a console application that exposes a Windows Communication Foundation (WCF) service.
InboxServiceInboxService Casella di posta in arrivo che contiene attività in base alle quali i dipendenti intraprendono un'azione.An inbox that contains actionable tasks for employees.

Il progetto viene implementato come un'applicazione console che espone un servizio WCF.This project is implemented as a console application that exposes a WCF service.
InternalClientInternalClient Applicazione Web per l'interazione con il processo.A Web application for interacting with the process. Gli utenti possono avviare e visualizzare i propri flussi di lavoro HiringProcess nonché parteciparvi.Users can start, participate, and view their HiringProcess workflows. Grazie a questa applicazione, possono inoltre avviare e monitorare i processi ResumeRequest.Using this application, they can also start and monitor ResumeRequest processes.

Questo sito viene implementato in modo che sia interno alla rete Intranet di Contoso,This site is implemented to be internal to Contoso's intranet. mentre il progetto viene implementato come un sito Web ASP.NET.This project is implemented as an ASP.NET Web site.
CareersWebSiteCareersWebSite Sito Web esterno che espone le posizioni aperte in Contoso.An external Web site that exposes the open positions in Contoso. Qualsiasi candidato potenziale può spostarsi in questo sito e inviare un curriculum.Any potential candidate can navigate to this site and submit a resume.

Riepilogo delle funzionalitàFeature summary

Nella tabella seguente vengono descritte le modalità di utilizzo di ogni funzionalità nell'esempio.The following table describes how each feature is used in this sample.

FunzionalitàFeature DescrizioneDescription ProjectProject
Diagramma di flussoFlowchart Il processo aziendale viene rappresentato come un diagramma di flussoThe business process is represented as a flowchart . la cui descrizione rappresenta il processo in modo analogo a quello in cui un'azienda l'avrebbe riportato su una lavagna.This flowchart description represents the process in the same way in which a business would have drawn it in a whiteboard. HiringRequestServiceHiringRequestService
Servizi flusso di lavoroWorkflow services Il diagramma di flusso con la definizione del processo è ospitato in un servizio (in questo esempio il servizio è ospitato in un'applicazione console).The Flowchart with the process definition is hosted in a service (in this example, the service is hosted in a console application). HiringRequestServiceHiringRequestService
Attività di messaggisticaMessaging activities Il diagramma di flusso usa le attività di messaggistica per gli scopi seguenti:The flowchart uses messaging activities in two ways:

-Per ottenere informazioni da parte dell'utente (per ricevere le decisioni e le informazioni correlate in ogni passaggio di approvazione).- To get information from the user (to receive the decisions and related information in each approval step).
-Per interagire con altri servizi esistenti (InboxService e OrgDataService, usati tramite riferimenti al servizio).- To interact with other existing services (InboxService and OrgDataService, used through service references).
HiringRequestServiceHiringRequestService
Correlazione basata sul contenutoContent based correlation I messaggi di approvazione sono correlati alla proprietà ID della richiesta di assunzione:Approval messages correlate on the ID property of the hiring request:

-Quando viene avviato un processo, l'handle di correlazione viene inizializzato con l'ID della richiesta.- When a process is started, the correlation handle is initialized with the ID of the request.
-Approvazione messaggi correlati al relativo ID (il primo parametro di ogni messaggio di approvazione è l'ID della richiesta).- Incoming approval messages correlate on their ID (the first parameter of each approval message is the ID of the request).
HiringRequestService / ResumeRequestServiceHiringRequestService / ResumeRequestService
Attività personalizzate (dichiarative e basate sul codice)Custom activities (declarative and code based) Nell'esempio sono presenti diverse attività personalizzate:There are several custom activities in this sample:

- SaveActionTrackingQuesta attività genera un oggetto personalizzato TrackingRecord (tramite Track).- SaveActionTracking: This activity emits a custom TrackingRecord (using Track). L'attività è stata creata usando codice imperativo che estende NativeActivity.This activity has been authored using imperative code extending NativeActivity.
- GetEmployeesByPositionTypes: Questa attività riceve un elenco di ID tipo di posizione e restituisce un elenco di persone con tale posizione in Contoso.- GetEmployeesByPositionTypes: This activity receives a list of position type IDs and returns a list of people that have that position in Contoso. L'attività è stata creata in modo dichiarativo (usando la finestra di progettazione delle attività).This activity has been authored declaratively (using the activity designer).
- SaveHiringRequestInfoQuesta attività Salva le informazioni di un HiringRequest (tramite HiringRequestRepository.Save).- SaveHiringRequestInfo: This activity saves the information of a HiringRequest (using HiringRequestRepository.Save). L'attività è stata creata usando codice imperativo che estende CodeActivity.This activity has been authored using imperative code extending CodeActivity.
HiringRequestServiceHiringRequestService
Persistenza di SQL Server fornita dal sistemaSystem-provided SQL Server Persistence L'istanza di WorkflowServiceHost che ospita la definizione del processo del diagramma di flusso è configurata per usare la persistenza di SQL Server fornita dal sistema.The WorkflowServiceHost instance that hosts the Flowchart process definition is configured to use the system-provided SQL Server persistence. HiringRequestService / ResumeRequestServiceHiringRequestService / ResumeRequestService
Rilevamento personalizzatoCustom Tracking Nell'esempio è incluso un partecipante del rilevamento personalizzato che salva la cronologia di un processo HiringRequestProcess (quest'ultimo registra l'azione eseguita nonché l'autore e il momento dell'esecuzione).The sample includes a custom tracking participant that saves the history of a HiringRequestProcess (this records what action has been done, by whom, and when). Il codice sorgente si trova nella cartella Tracking di HiringRequestService.The source code is in the Tracking folder of HiringRequestService. HiringRequestServiceHiringRequestService
Rilevamento ETWETW Tracking Il rilevamento ETW fornito dal sistema viene configurato nel file App.config nel servizio HiringRequestService.System-provided ETW Tracking is configured in the App.config file in the HiringRequestService service. HiringRequestServiceHiringRequestService
Composizione di attivitàComposition of Activities La definizione del processo usa la composizione libera di Activity.The process definition uses the free composition of Activity. Il diagramma di flusso contiene diverse attività Sequence e Parallel che a loro volta ne contengono altre e così via.The Flowchart contains several Sequence and Parallel activities that at the same time contain other activities (and so on). HiringRequestServiceHiringRequestService
Attività paralleleParallel Activities - ParallelForEach<T> Consente di registrare nella posta in arrivo del CEO e dei responsabili delle risorse Umane in parallelo (in attesa per il passaggio di approvazione due responsabili).- ParallelForEach<T> is used to register in the Inbox of the CEO and HR Managers in parallel (Waiting for two HR Managers' Approval step).
- Parallel viene usato per eseguire alcune attività di pulizia nei passaggi di completamento e rifiuto.- Parallel is used to do some clean-up tasks in the Completed and Rejected steps
HiringRequestServiceHiringRequestService
Annullamento del modelloModel Cancellation Nel diagramma di flusso viene usato CancellationScope per applicare l'annullamento (in questo caso eseguendo attività di pulizia).The Flowchart uses CancellationScope to create cancellation behavior (in this case it does some clean-up.) HiringRequestServiceHiringRequestService
Partecipante di persistenza personalizzatoCustomer Persistence Participant HiringRequestPersistenceParticipant salva i dati da una variabile del flusso di lavoro in una tabella archiviata nel database delle risorse umane di Contoso.HiringRequestPersistenceParticipant saves data from a workflow variable to a table stored in the Contoso HR database. HiringRequestServiceHiringRequestService
Servizi flusso di lavoroWorkflow Services ResumeRequestService viene implementato usando servizi flusso di lavoro.ResumeRequestService is implemented using workflow services. La definizione del flusso di lavoro e le informazioni sul servizio sono contenute nel file ResumeRequestService.xamlx.Workflow definition and service information is contained in ResumeRequestService.xamlx. Il servizio è configurato per usare la persistenza e il rilevamento.The service is configured to use persistence and tracking. ResumeRequestServiceResumeRequestService
Timer durevoliDurable Timers In ResumeRequestService vengono usati timer durevoli per definire la durata di un elenco di offerte di lavoro (quando un timeout scade, le offerte vengono chiuse).ResumeRequestService uses durable timers to define the duration of a Job Posting (once a time-out expires, the Job Posting is closed). ResumeRequestServiceResumeRequestService
TransazioniTransactions TransactionScope viene usato per garantire la coerenza dei dati durante l'esecuzione di diverse attività (quando viene ricevuto un nuovo curriculum).TransactionScope is used to ensure consistency of data within the execution of several activities (when a new resume is received). ResumeRequestServiceResumeRequestService
TransazioniTransactions Il partecipante di persistenza (HiringRequestPersistenceParticipant) e il partecipante del rilevamento personalizzati (HistoryFileTrackingParticipant) usano la stessa transazione.The custom persistence participant (HiringRequestPersistenceParticipant) and custom tracking participant (HistoryFileTrackingParticipant) use the same transaction. HiringRequestServiceHiringRequestService
Uso di WFWF in applicazioni ASP.NETASP.NET.Using WFWF in ASP.NETASP.NET applications. L'accesso ai flussi di lavoro viene eseguito da due applicazioni ASP.NETASP.NET.Workflows are accessed from two ASP.NETASP.NET applications. InternalClient / CareersWebSiteInternalClient / CareersWebSite

Archivio datiData Storage

I dati vengono archiviati in un database di SQL Server denominato ContosoHR (lo script per la creazione di questo database si trova nella cartella DbSetup),Data is stored in a SQL Server database called ContosoHR (the script for creating this database is located in the DbSetup folder). mentre le istanze di flusso di lavoro vengono archiviate in un database di SQL Server denominato InstanceStore (gli script per la creazione per l'archivio di istanze sono parte della distribuzione di .NET Framework 4.6.1.NET Framework 4.6.1).Workflow instances are stored in a SQL Server database called InstanceStore (the scripts for creating the instance store are part of the .NET Framework 4.6.1.NET Framework 4.6.1 distribution).

Entrambi i database vengono creati eseguendo script Setup. cmd da un prompt dei comandi di Visual Studio.Both databases are created by running Setup.cmd script from a Visual Studio command prompt.

Esecuzione dell'esempioRunning the sample

Per creare i databaseTo create the databases

  1. Aprire il prompt dei comandi di Visual Studio.Open a Visual Studio command prompt.

  2. Passare alla cartella dell'esempio.Navigate to the sample folder.

  3. Eseguire Setup.cmd.Run Setup.cmd.

  4. Verificare che i due database ContosoHR e InstanceStore siano creati in SQL Express.Verify that the two databases ContosoHR and InstanceStore were created in SQL Express.

Per configurare la soluzione per l'esecuzioneTo set up the solution for execution

  1. Eseguire Visual Studio come amministratore.Run Visual Studio as an administrator. Aprire HiringRequest.sln.Open HiringRequest.sln.

  2. Fare doppio clic sulla soluzione in Esplora e selezionare proprietà.Right-click the solution in Solution Explorer and select Properties.

  3. Selezionare l'opzione più progetti di avvio e impostare il CareersWebSite, InternalClient, HiringRequestService, e ResumeRequestService a avviare.Select the option Multiple Startup Projects and set the CareersWebSite, InternalClient, HiringRequestService, and ResumeRequestService to Start. Lasciare ContosoHR, InboxService, e OrgService nessuno.Leave ContosoHR, InboxService, and OrgService as None.

  4. Premere CTRL+MAIUSC+B per compilare la soluzione,Build the solution by pressing CTRL+SHIFT+B. quindi verificare che la compilazione sia stata eseguita in modo corretto.Verify that the build succeeded.

Per eseguire la soluzioneTo run the solution

  1. Dopo che la soluzione è stata compilata, premere CTRL+F5 per eseguirla senza debug.After the solution builds, press CTRL+F5 to run without debugging. Verificare che tutti i servizi siano stati avviati.Verify that all services have started.

  2. Fare clic destro InternalClient nella soluzione e quindi selezionare Visualizza nel Browser.Right click InternalClient in the solution and then select View in Browser. Verrà visualizzata la pagina predefinita per InternalClient.The default page for InternalClient is displayed. Verificare che i servizi siano in esecuzione, quindi fare clic sul collegamento.Ensure that services are running, and click the link.

  3. Il HiringRequest visualizzato il modulo.The HiringRequest module is displayed. È possibile seguire lo scenario descritto in questo punto.You can follow the scenario detailed here.

  4. Una volta che HiringRequest è completo, è possibile avviare ResumeRequest.Once the HiringRequest is complete, you can start the ResumeRequest. È possibile seguire lo scenario descritto in questo punto.You can follow the scenario detailed here.

  5. Quando ResumeRequest viene pubblicato, sarà disponibile nel sito Web pubblico (sito Web delle carriere di Contoso).When the ResumeRequest is posted, it is available in the public Web site (Contoso Careers Web Site). Per visualizzare l'elenco delle offerte di lavoro e candidarsi per la posizione, spostarsi su tale sito.To see the Job Posting (and apply for the position), navigate to the Careers Web Site.

  6. Fare doppio clic su CareersWebSite nella soluzione e selezionare Visualizza nel Browser.Right-click CareersWebSite in the solution and select View in Browser.

  7. Tornare al InternalClient facendo InternalClient nella soluzione e selezionando Visualizza nel Browser.Navigate back to the InternalClient by right-clicking InternalClient in the solution and selecting View in Browser.

  8. Passare al JobPostings sezione facendo il curriculum collegamento nel menu in alto della posta in arrivo.Go to the JobPostings section by clicking the Job Postings link in the inbox top menu. È possibile seguire lo scenario descritto in questo punto.You can follow the scenario detailed here.

ScenariScenarios

Richiesta di assunzioneHiring request

  1. Michael Alexander (programmatore) desidera richiedere una nuova posizione per assumere un esperto in testing (SDET) nel reparto tecnico con almeno tre anni di esperienza nel linguaggio di programmazione C#.Michael Alexander (Software Engineer) wants to request a new position for hiring a Software Engineer in Test (SDET) in the Engineering department who has at least 3 years of experience in C#.

  2. Dopo la creazione, la richiesta viene visualizzata nella posta in arrivo di Michael (fare clic su aggiornamento se non viene visualizzata la richiesta) in attesa di approvazione di Peter Brehm, chi è responsabile di Michael.After being created, the request appears in Michael’s inbox (click Refresh if you do not see the request) awaiting Peter Brehm’s approval, who is Michael’s manager.

  3. Peter desidera intervenire sulla richiesta di MichaelPeter wants to act on Michael’s request. poiché ritiene che la posizione richieda 5 anni di esperienza nel linguaggio C# anziché 3 e pertanto invia i propri commenti per la revisione.He thinks the position demands 5 years of C# experience instead of 3, so he sends his comments back for review.

  4. Michael riceve un messaggio nella casella di posta in arrivo proveniente dal responsabile e dopo aver esaminato la cronologia della richiesta di posizione concorda con Peter.Michael sees a message in his inbox from his manager and wants to act. Michael sees the history of the position request and agrees with Peter. Michael modifica pertanto la descrizione per richiedere 5 anni di esperienza nel linguaggio C# e accetta la modifica.Michael modifies the description to require 5 years of C# experience and accepts the modification.

  5. Peter interviene sulla richiesta modificata di Michael e l'accetta.Peter acts on Michael’s modified request and accepts it. A questo punto la richiesta deve essere approvata dal direttore del reparto tecnico, Tsvi Reiter.The request now must be approved by the Director of Engineering, Tsvi Reiter.

  6. Tsvi Reiter desidera accelerare la richiesta, pertanto inserisce un commento per indicare che la richiesta è urgente e l'accetta.Tsvi Reiter wants to expedite the request, so he puts in a comment to say that the request is urgent and accepts it.

  7. La richiesta deve ora essere approvata da due responsabili delle risorse umane o dal CEO.The request now has to be approved by two HR managers or the CEO. Quest'ultimo, Brian Richard Goldstein, vede la richiesta urgente di TsviThe CEO, Brian Richard Goldstein, sees the urgent request by Tsvi. e interviene accettandola, precedendo l'approvazione dei due responsabili delle risorse umane.He acts on the request by accepting it, thus bypassing the approval by two HR managers.

  8. La richiesta viene rimossa dalla casella di posta in arrivo di Michael e il processo di assunzione di un esperto SDET è stato avviato.The request is removed from Michael’s inbox and the process of hiring an SDET has now begun.

Avviare la richiesta di curriculumStart Resume Request

  1. A questo punto, la posizione lavorativa è in attesa di essere pubblicata in un sito Web esterno in cui gli utenti possono applicare (è possibile visualizzarlo scegliendo la curriculum collegamento).Now, the job position is waiting to be posted to an external Web site where people can apply (you can see it clicking the Job Postings link). Attualmente, la posizione lavorativa deve essere completata da un addetto delle risorse umane responsabile della finalizzazione e della pubblicazione della posizione.Currently, the job position is sitting with an HR representative who is responsible for finalizing the job position and posting it.

  2. Risorse Umane desidera modificare la posizione lavorativa (facendo clic di modifica collegamento) impostando un timeout di 60 minuti (in uno scenario reale, è possibile giorni o settimane).HR wants to edit this job position (by clicking the Edit link) by setting a time-out of 60 minutes (in real life, this could be days or weeks). Il timeout consente che la posizione lavorativa venga eliminata dal sito Web esterno dopo il tempo specificato.The time-out allows the job position to be taken off the external Web site according to the time specified.

  3. Dopo aver salvato la posizione lavorativa modificata, viene visualizzato nel ricezione dei curriculum scheda (aggiornare la pagina Web per visualizzare la nuova posizione lavorativa).After saving the edited job position, it appears in the Receiving Resumes tab (refresh the Web page to see the new job position).

Raccolta di curriculumCollecting Resumes

  1. La posizione lavorativa dovrebbe essere visualizzata sul sito Web esterno.The job position should appear on the external Web site. Una persona interessata può pertanto candidarsi per la posizione e inviare il proprio curriculum.As a person interested in applying for the job, you may apply for this position and submit your resume.

  2. Se si torna indietro per il servizio relativo all'elenco, è possibile "visualizzare riprende" che sono stati raccolti finora.If you go back to the Job Postings List service, you can "view resumes" that have been collected so far.

  3. Il reparto risorse umane può decidere di interrompere la raccolta, ad esempio se il candidato appropriato è stato identificato.HR can also stop collecting resumes (for example, once the right candidate has been identified).

Risoluzione dei problemiTroubleshooting

  1. Verificare che si esegue Visual Studio con privilegi di amministratore.Ensure that you are running Visual Studio with administrator privileges.

  2. Se non è possibile compilare la soluzione, verificare l'elemento seguente:If the solution fails to build, verify the following:

    • Il riferimento a ContosoHR non è presente il InternalClient o CareersWebSite progetti.The reference to ContosoHR is not missing from the InternalClient or CareersWebSite projects.
  3. Se non è possibile eseguire la soluzione, verificare gli elementi seguenti:If the solution fails to execute, verify the following:

    1. Tutti i servizi sono in esecuzione.All services are running.

    2. I riferimenti al servizio sono aggiornati.The service references are updated.

      1. Aprire la cartella App_WebReferences.Open the App_WebReferences folder

      2. Fare doppio clic su Contoso e selezionare Aggiorna riferimenti Web/servizio.Right-click Contoso and select Update Web/Service References.

      3. Ricompilare la soluzione premendo CTRL + MAIUSC + B in Visual Studio.Rebuild the solution by pressing CTRL+SHIFT+B in Visual Studio.

DisinstallazioneUninstalling

  1. Eliminare l'archivio dell'istanza di SQL Server eseguendo Cleanup.bat, disponibile nella cartella DbSetup.Delete the SQL Server instance store by running Cleanup.bat, located in DbSetup folder.

  2. Eliminare il codice sorgente dal disco rigido.Delete the source code form your hard drive.