restful接口怎样使用C#开发

2025-10-27 12:37:17

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 Contract

Service 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。
猜你喜欢