restful接口怎样使用C#开发

2025-07-18 18:14:48

1、新建一个控制台程序新建一个控制台程序,添加如下引用。

restful接口怎样使用C#开发
restful接口怎样使用C#开发

2、定义Data Contract数据契约是WCF Service数据交换用的实体类型,增加如下的学生成绩实体。[DataContract]public class StudentScore{ [DataMember] public string Name { get; set; } [DataMember] public string Course { get; set; } [DataMember] public int Score { get; set; }}

restful接口怎样使用C#开发

3、定义Service ContractService Contract是WCF Service的接口契约,用来描述Web Service接口的规格,增加如下的学生成绩查询接口:[ServiceContract]public interface IStudentScoreQuery{ [OperationContract] [WebGet(UriTemplate = "StudentScoreQuery/{name}", ResponseFormat = WebMessageFormat.Json)] StudentScore GetScore(string name);}

restful接口怎样使用C#开发

4、实现Service增加一个c# class,实现IStudentScoreQuery服务契约,在其中增加查询学生成绩的逻辑。具体代码如下:[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Single, IncludeExceptionDetailInFaults = true)][AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]public class StudentScoreQueryService:IStudentScoreQuery{ private List<StudentScore> mScores =new List<StudentScore>(); public StudentScoreQueryService() { mScores.Add(new StudentScore(){Name = "张三",Score = 90}); mScores.Add(new StudentScore() {Name = "李四", Score = 87 }); } public StudentScore GetScore(string name) { return mScores.FirstOrDefault(o => o.Name == name); }}

restful接口怎样使用C#开发

5、增加ServieHost实例化代码WCF Service需要运行在ServiceHost中,增加如下实例化SeriveHost的代码,其中Web Service的根地址是http://localhost:8000/Demo。static void Main(string[] args){ StudentScoreQueryService service = new StudentScoreQueryService(); WebServiceHost _serviceHost = new WebServiceHost(service, new Uri("http://localhost:8000/Demo")); _serviceHost.Open(); Console.WriteLine("输入任意键关闭程序!"); Console.ReadKey(); _serviceHost.Close();}

restful接口怎样使用C#开发

6、测试Restful Service按F5运行控制台程序,在Chrome浏览器中输入Restful Server地址就可以看到结果了:http://localhost:8000/demo/StudentScoreQuery/张三 。

restful接口怎样使用C#开发
restful接口怎样使用C#开发

7、下载测试工程代码测试工程代码共享在如下位置,可以自行下来测试。下载路径:http://pan.baidu.com/s/1i4WKNFv

restful接口怎样使用C#开发
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢