📜  WCF-IIS托管

📅  最后修改于: 2020-11-19 09:21:37             🧑  作者: Mango


在IIS(Internet信息服务)中托管WCF服务是一个分步过程。下面详细说明了IIS Hosting,并提供了所需的代码以及用于理解该过程的屏幕截图。

步骤1-启动Visual Studio 2012,然后单击文件→新建→网站。选择“ WCF服务”并将“位置”选择为http。这将在IIS中托管服务。单击确定。

Wcf Hosting Services IIS 1

步骤2-接口背后的代码如下。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;

// NOTE: You can use the "Rename" command on the "Refactor" menu to 
// change the interface name "IService" in both code and config file 
// together.

[ServiceContract]
Public interface IService {
   [OperationContract]
   String GetData(int value);

   [OperationContract]
   CompositeType GetDataUsingDataContract(CompositeType composite);

   // TODO: Add your service operations here
}

// Use a data contract as illustrated in the sample below to add 
// composite types to service operations.

[DataContract]
Public class CompositeType {
   Bool boolValue = true;
   String stringValue = "Hello ";

   [DataMember]
   Public bool BoolValue {
      get { return boolValue; }
      set { boolValue = value; }
   }

   [DataMember]
   Public string StringValue {
      get { return stringValue; }
      set { stringValue = value; }
   }
}

步骤3-类文件后面的代码如下。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;

// NOTE: You can use the "Rename" command on the "Refactor" menu to 
// change the class name "Service" in code, svc and config file 
// together.

Public class Service : IService {
   Public string GetData(int value) {
      Return string.Format("You entered: {0}", value);
   }

   Public CompositeType GetDataUsingDataContract(CompositeType composite) {
      if(composite == null) {
         thrownewArgumentNullException("composite");
      }
      
      if(composite.BoolValue) {
         composite.StringValue += "Suffix";
      }
      return composite;
   }
}

步骤4-服务文件(.svc)包含服务的名称和文件名后面的代码。该文件用于了解服务。

Wcf Hosting Services IIS 4

步骤5-配置文件中提到了服务器端配置。在这里,仅提及配置为“ wsHttpBinding”的一个端点。我们也可以有多个具有不同绑定的端点。由于我们要在IIS中托管,因此我们仅需使用http绑定。



   
   
      
      
         
      
            

步骤6-您需要提及服务文件名,以及配置文件中提及的地址。 IIS屏幕快照在此处给出。

单击开始→运行→inetmgr,这将打开以下窗口。

Wcf主机服务IIS 6

步骤7-运行应用程序,将产生以下屏幕。

Wcf主机服务IIS 7