Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Computer Programming Languages >> .

Come ospitare un ASP Web Service Net Al di fuori di IIS

. Prima dell'introduzione di WCF , servizi web sviluppati in netto doveva essere ospitato all'interno di Internet Information Server ( IIS ) . Nel . Net 3.0 , le opzioni di hosting per i servizi web . Netto è aumentato notevolmente . WCF include un nome ServiceHost classe che consente ai servizi di essere ospitati all'interno di un'applicazione facilmente . ServiceHost astrae molti la complessità tecnologica di distanza in modo gli sviluppatori possono concentrarsi sulla logica di servizio al posto delle tubature coinvolti in servizi di hosting . Hosting di un servizio al di fuori di IIS richiede l' WCF runtime e una gestita . NET per agire come host . E ' responsabilità dello sviluppatore di scrivere il codice che avvia e arresta l'host . Istruzioni
1

Selezionare "Nuovo" quindi "Progetto " nel menu File . Viene visualizzata la finestra di dialogo Nuovo progetto.
2

Selezionare Visual C # quindi Windows dall'elenco modello di progetto nella finestra di dialogo Nuovo progetto.
3

Selezionare Applicazione console dalla lista dei tipi di progetto Windows. Specificare un nome per il progetto nella casella Nome . Il nome del progetto dovrebbe essere qualcosa legato a sé che ospita un servizio web , se possibile.
4

Digitare una località nella casella di posizione nella finestra di dialogo Nuovo progetto. In alternativa , fare clic su "Sfoglia" per individuare la posizione in cui verrà memorizzato il progetto . Fare clic su " OK ". Visual Studio crea una nuova applicazione console .
5

destro del mouse su SelfHost in Esplora soluzioni . Poi , selezionare Aggiungi riferimento . Individuare System.ServiceModel nella scheda . NET e fare clic su "OK". Verrà aggiunto un riferimento all'assembly System.ServiceModel che è necessario per sviluppare o ospitare servizi WCF .
6

Fare doppio clic sul file di classe che è stato aggiunto quando il progetto è stato creato . Nella maggior parte dei casi sarà nominato Program.cs . Verrà visualizzato il codice per la classe .
7

pulsante destro del mouse sul nome del progetto e selezionare " Aggiungi nuova classe. " Assegnare un nome alla classe " HelloWorld " e inserire il seguente codice :

utilizzando System.ServiceModel ;

utilizzando System.ServiceModel.Description ;

[ ServiceContract ]

public interface IHelloWorld

{

[ OperationContract ]

SayHello stringa ( string name) ; }


public class HelloWorld : IHelloWorld

{

pubblico SayHello stringa ( string name ) per

{

string.Format ritorno ( " Ciao , {0}" , nome) ;

}

}

Questo codice è l'implementazione di un campione di servizi web " HelloWorld ", che dispone di una operazione , " SayHello . "
8

doppio clic sulla classe che è stata aggiunta automaticamente quando il progetto è stato creato . Nella maggior parte dei casi , la classe sarà nominato Program.cs
9

Inserisci il seguente codice nella parte superiore della classe :

utilizzando System.ServiceModel ;

utilizzando System.ServiceModel.Description ;
10

Inserisci il seguente codice nel metodo Main della classe :

//definisce l' indirizzo di base per il servizio sulla macchina locale

Uri baseAddress = new Uri ( " http://localhost:8080/hello " ) ;

//Crea il Servizio Host

usando ( ServiceHost host = new ServiceHost . ( typeof ( HelloWorld ) , baseAddress ) ) per

{

//Abilita la pubblicazione dei metadati

ServiceMetadataBehavior smb = new ServiceMetadataBehavior ( ) .

smb . httpGetEnabled = true ;

smb.MetadataExporter.PolicyVersion = PolicyVersion.Policy15 ;

host.Description.Behaviors.Add ( smb ) ;

//Aprire il ServiceHost per iniziare ascolto per i messaggi

host.Open ( ) .

Console.WriteLine (" Il servizio è attivo e può ricevere richiesta {0}" , baseAddress ) ;

Console . WriteLine ( "Premere Invio per arrestare il servizio . ");

Console.ReadLine ();

//Chiudere il ServiceHost

host.Close . (); }


Questo codice avvia il servizio di accoglienza e crea un'istanza del servizio . Il servizio può essere chiamato da un cliente fino a quando l'applicazione console viene chiusa .

 

Programmazione © www.354353.com