Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako Host ASP NET webové služby Mimo IIS .

Pred zavedením WCF , webové služby vytvorené v Net musel byť hostiteľom v Internet Information Server ( IIS ) . V roku . Net 3.0 , hosting možnosti . Net webových služieb výrazne vzrástla . WCF obsahuje triedu pomenovanú ServiceHost , ktorá umožňuje služby , ktoré majú byť hostiteľom v rámci aplikácie ľahko . ServiceHost abstrahuje mnoho technologickej komplexnosti preč , takže vývojári môžu zamerať na služby logiky namiesto inštalatérske podieľa na hostingových služieb . Hosting služby mimo IIS vyžaduje WCF runtime a spravované . NET aplikácie slúžiť ako hostiteľ . Je vývojárov povinnosťou písať kód , ktorý spúšťa a zastavuje hostiteľa . Pokyny dovolená 1

Vyberte " New " a potom " projekt " v menu Súbor . Zobrazí sa dialógové okno Nový projekt .
2

Vyberte Visual C # a potom Windows od zoznamu šablón projektu v dialógovom okne Nový projekt .
3

vyberte Aplikácie konzoly zo zoznamu typov projektu Windows . Zadajte názov projektu v poli Názov . Názov projektu by malo byť niečo , čo súvisí s seba hosťovanie webovej služby , ak je to možné .
4

Zadajte umiestnenie v poli Umiestnenie v dialógovom okne Nový projekt . Prípadne kliknite na tlačidlo " Prehľadávať " a prejdite k umiestneniu , kde bude uložený projekt . Kliknite na tlačidlo " OK " . Visual Studio vytvorí nové aplikácie konzoly .
5

Kliknite pravým tlačidlom myši SelfHost v roztoku Explorer . Potom vyberte Pridať odkaz . Vyhľadajte System.ServiceModel v záložke NET . , A kliknite na tlačidlo " OK " . To bude pridať odkaz na zostavenie System.ServiceModel , ktoré je nutné vyvinúť alebo hostiteľské WCF služby .
6

Dvakrát kliknite na súbor triedy , ktorá bola pridaná , keď bol vytvorený projekt . Vo väčšine prípadov to bude menovaný Program.cs . Zobrazí sa kód pre triedu .
7

Pravým tlačidlom myši na názov projektu a vyberte možnosť " Pridať novú triedu . " Názov triedy " HelloWorld " a zadajte nasledujúci kód :

pomocou System.ServiceModel ;

pomocou System.ServiceModel.Description ;

[ ServiceContract ]

public interface IHelloWorld

{

[ OperationContract ]

string SayHello ( string name ) ;

}

public class HelloWorld : IHelloWorld

{

public string SayHello ( string name )

{

vrátiť String.Format ( " Dobrý deň , { 0 } " , name ) ;

}

}

Tento kód je zavedenie vzorky " HelloWorld " , webové služby , ktorá má jednu operáciu , " sayHello . "
8

Double - kliknite na triede , ktorá bola automaticky pridaný , keď bol vytvorený projekt . Vo väčšine prípadov , bude trieda bude volať Program.cs
9

Zadajte nasledujúci kód v hornej časti triedy :

pomocou System.ServiceModel ;

pomocou System.ServiceModel.Description ;
10

Zadajte nasledujúci kód v metóde hlavné triedy :

//definuje základné adresu pre službu na lokálnom počítači

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

//Vytvorenie hostiteľa služby

použitie ( ServiceHost hostiteľa = new ServiceHost . ( typeof ( HelloWorld ) , baseaddress ) )

{

//Povoliť publikovanie metadát

ServiceMetadataBehavior koho = new ServiceMetadataBehavior ( ) ; .

smb . HttpGetEnabled = true ;

smb.MetadataExporter.PolicyVersion = PolicyVersion.Policy15 ;

host.Description.Behaviors.Add ( SMB ) ,

//Otvoriť ServiceHost na začiatok počúvanie správ

host.Open ( ) ; .

Console.WriteLine ( " služba beží a môže prijímať žiadosti { 0 } " , baseaddress ) ;

Console . Console.WriteLine ( " Press zastaviť službu . " ) ;

Console.ReadLine ( ) ; .

//Zatvorte ServiceHost

host.Close ( ) ;

}

Tento kód sa spustí hostiteľa služby a vytvorí inštanciu služby . Táto služba môže byť volaná z klienta až do ukončenia aplikácie konzoly .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené