HttpWebRequest GET(ADO.NET 数据服务框架)

HTTP GET 请求用于从 ADO.NET 数据服务中检索数据。任何可发送 HTTP 请求的应用程序都能够与 ADO.NET 数据服务部署的数据进行交互。

本主题中的示例初始化并发送一个 GET 请求,该请求查询 SQL Server 2005 附带的 AdventureWorks 示例数据库中的数据。如数据服务快速入门(ADO.NET 数据服务框架) 中所示,已使用实体数据模型 部署这些数据。

GET 方法

下面的代码显示针对使用 GET 方法的 HttpWebRequest 对象的初始化。HttpWebRequestAccept 属性设置为 application/json,以指定 JSON 协议中的结果。此数据由 HttpResponse 对象(通过调用 request.GetResponse 初始化该对象)返回,然后读入到名为 outputStringBuilder 中。

    HttpWebRequest request = 
            (HttpWebRequest)WebRequest.Create(
            "http://hostName/AdvWksSales.svc/Contact(456)");

    request.Method = "GET";
    request.Accept = "application/json";


    HttpWebResponse response = (HttpWebResponse) request.GetResponse();
    StreamReader reader = new StreamReader(response.GetResponseStream());
    StringBuilder output = new StringBuilder();
    output.Append(reader.ReadToEnd());

    response.Close();

结果

output 字符串包含格式为 JSON 的结果:

{ "d" : {
"__metadata": {
"uri": "https://localhost:57678/AdvWksSales.svc/Contact(456)",
 "type": "AdventureWorksModel.Contact"},
 "ContactID": 456,
 "NameStyle": false,
 "Title": "Ms.",
 "FirstName":
 "Susan",
 "MiddleName": 
 "F.", "LastName": "Burk",
 "Suffix": null,
 "EmailAddress": "sfburk@adventure-works.com",
 "EmailPromotion": 2,
 "Phone": "165-555-0172",
 "PasswordHash": "8Qm1PjIUHrwqWDY8nMVfB4qUnizpmFJfhn9mkV3kwo8=",
 "PasswordSalt": "5uLI9TQ=",
 "AdditionalContactInfo": null,
 "rowguid": "baf2bb1f-fef8-4f13-9f21-e8d92e15f790",
 "ModifiedDate": "\/Date(1028160000000)\/"
, "SalesOrderHeader": {
"__deferred": {
"uri": "http://hostName/AdvWksSales.svc/Contact(456)/SalesOrderHeader"
}
}
} }

另请参见

概念

HttpWebRequest PUT(ADO.NET 数据服务框架)
HttpWebRequest POST(ADO.NET 数据服务框架)
HttpWebRequest DELETE(ADO.NET 数据服务框架)
通用 HTTP 要求(ADO.NET 数据服务框架)
.NET 客户端库(ADO.NET 数据服务框架)