日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
WCF創(chuàng)建WebService正確操作步驟詳解

其實(shí),運(yùn)用WCF對(duì)WEB進(jìn)行相關(guān)的操作是一個(gè)比較簡單的操作技術(shù),我們可以通過這篇文章介紹的具體操作步驟來充分的掌握這一應(yīng)用技巧。希望對(duì)此有需要的朋友們可以通過這里介紹的內(nèi)容獲得一些幫助。#t#

例子:

WCF創(chuàng)建WebService第一步: 添加WCF名稱域:

using System.ServiceModel;

using System.ServiceModel.Description;

ServiceModel 是.NET當(dāng)中用來實(shí)現(xiàn)WCF服務(wù)功能的名稱域。

WCF創(chuàng)建WebService第二步: 定義服務(wù)。

 
 
 
  1. [ServiceContract()]
  2. public interface IServiceInterface
  3. {
  4. [OperationContract]
  5. string sayHello( string text );
  6. }
  7. public class Service1 : IServiceInterface
  8. {
  9. public string sayHello(string text)
  10. {
  11. return "hello" + text;
  12. }
  13. }

一般來講,將服務(wù)定義為接口,然后由它衍生出多中服務(wù)的類。這樣做的一個(gè)好處是可以在接口級(jí)別定義屬性,而在服務(wù)的類的級(jí)別看不到任何屬性信息。只需要實(shí)現(xiàn)預(yù)先定義好的方法就可以。

WCF創(chuàng)建WebService第三步: 建立宿主,WCF的Service可以運(yùn)行在程序,Windows 服務(wù)或者ASP.NET上面,我們使用Console來建立宿主:

 
 
 
  1. internal class MyServiceHost
  2. {
  3. internal static ServiceHost mySvcHost = null;
  4. internal static void StartService()
  5. {
  6. ……
  7. }
  8. internal static void StopService()
  9. {
  10. ……
  11. }
  12. }
  13. static void Main(string[] args)
  14. {
  15. MyServiceHost.StartService();
  16. Console.ReadLine();
  17. MyServiceHost.StopService();
  18. Console.Read();
  19. return;
  20. }

這里,我們定義了一個(gè)宿主 MyServiceHost,其中包含一個(gè)ServiceHost類的成員,ServiceHost類是ServiceModel當(dāng)中用來創(chuàng)建通信對(duì)象的類。我們可以通過它來創(chuàng)建一個(gè)監(jiān)聽的對(duì)象,成為EndpointListener.

WCF創(chuàng)建WebService第四步:創(chuàng)建WCF運(yùn)行時(shí)。

 
 
 
  1. internal static void StartService()
  2. {
  3. //首先,創(chuàng)建一個(gè)ServiceHost對(duì)象,傳入的參數(shù)是Service對(duì)象的類型和服務(wù)的地址。
  4. Uri address = new Uri("http://localhost:8080/service1");
  5. mySvcHost = new ServiceHost( typeof(Service1),address );
  6. //在創(chuàng)建的ServiceHost對(duì)象當(dāng)中查找,看是否存在ServiceMetadataBehaviour的元數(shù)據(jù)行為
  7. //描述,如果沒有找到,創(chuàng)建一個(gè)新的ServiceMetadataBehaviour對(duì)象。
  8. ServiceMetadataBehavior behaviour = mySvcHost.Description.
    Behaviors.Find();
  9. if (behaviour == null)
  10. behaviour = new ServiceMetadataBehavior();
  11. //設(shè)置允許進(jìn)行HttpGet操作。
  12. behaviour.HttpGetEnabled = true;
  13. //設(shè)置MetadataExporter導(dǎo)出Metadata時(shí)遵循WS-Policy 1.5規(guī)范。
  14. behaviour.MetadataExporter.PolicyVersion = PolicyVersion.Policy15;
  15. //將創(chuàng)建好的behaviour加入到宿主實(shí)例的行為描述組當(dāng)中。
  16. mySvcHost.Description.Behaviors.Add(behaviour);
  17. //加入MetadataExchange endpoint.
  18. mySvcHost.AddServiceEndpoint(
  19. ServiceMetadataBehavior.MexContractName,
  20. MetadataExchangeBindings.CreateMexHttpBinding(),
  21. "mex"
  22. );
  23. //加入應(yīng)用程序 endpoint
  24. WSHttpBinding binding = new WSHttpBinding();
  25. mySvcHost.AddServiceEndpoint(typeof(IServiceInterface), 
    binding, address);
  26. //打開 ServiceHost 實(shí)例。
  27. mySvcHost.Open();
  28. }

以上就是我們?yōu)榇蠹医榻B的WCF創(chuàng)建WebService所有操作步驟。


當(dāng)前名稱:WCF創(chuàng)建WebService正確操作步驟詳解
當(dāng)前URL:http://m.5511xx.com/article/cdcgpoj.html