版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yeqi3000/article/details/49096021
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.ServiceModel.Web;
using YFmk.Models.Web;
namespace SmartServiceBLL
{
/// <summary>
/// WCF 服务接口
/// </summary>
[ServiceContract]
public interface ISmartService
{
#region 餐饮刷卡
/// <summary>
/// 获取所有餐厅区域
/// </summary>
/// <returns></returns>
[OperationContract]
[WebInvoke(
UriTemplate = "Refectory/GetRefectoryList",
Method = "GET",
ResponseFormat = WebMessageFormat.Json
)]
OPResult GetRefectoryList();
#endregion
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using Newtonsoft.Json;
using YFmk.ORM;
using YFmk.Models.Web;
namespace SmartServiceBLL
{
/// <summary>
/// WCF服务
/// </summary>
internal class SmartService : ISmartService
{
#region 餐饮刷卡
#endregion
#region ISmartService 成员
/// <summary>
/// 获取所有餐厅区域
/// </summary>
/// <returns></returns>
public OPResult GetRefectoryList()
{
OPResult nOPResult=new OPResult();
List<MiniModels.Area> nList = new DAL<MiniModels.Area>().GetList("AreaType=2", "AreaName ASC", null);
if (nList.Count > 0)
{
nOPResult.Result = true;
nOPResult.rows = JsonConvert.SerializeObject(nList);
}
else
{
nOPResult.Result = false;
nOPResult.Data = "服务端未配置任何餐厅信息";
}
return nOPResult;
}
#endregion
}
}
编码实现WCF REST初始化,并提供help服务说明页面。
Uri httpBaseAddress = new Uri("http://localhost:8000");
WebServiceHost mServiceHost = new WebServiceHost(typeof(SmartService), httpBaseAddress);
Binding nWebHttpBinding = new WebHttpBinding();
mServiceHost.AddServiceEndpoint(typeof(ISmartService), nWebHttpBinding, "SmartService");
WebHttpBehavior helpBehavior = new WebHttpBehavior();
helpBehavior.HelpEnabled = true;
mServiceHost.Description.Endpoints[0].Behaviors.Add(helpBehavior);
mServiceHost.Open();
示例URL:http://localhost:8000/SmartService/help