0
我正在通過使用WCF和實體框架的Web服務工作,我想知道如何查看或返回HTTP狀態代碼給調用客戶端。如何在服務響應中顯示WCF HTTP代碼
我的代碼如下:
IUserService.cs
[OperationContract]
[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest, UriTemplate = "/GetUsers")]
List<User> GetUsers();
UserService.svc.cs
public List<User> GetUsers()
{
var userController = new UserController();
return userController.GetUsers();
}
UserController.cs
public List<User> GetUsers()
{
List<User> serverResponse = new List<User>();
try
{
using (var db = new MyEntities())
{
List<user> userList = db.users.ToList();
foreach (user userRecord in userList)
{
User userDto = new User();
userDto.userId = userRecord.user_id;
userDto.name = userRecord.user_name;
serverResponse.Add(userDto);
}
}
}
catch (Exception ex)
{
}
return serverResponse;
用戶DTO
[DataContract]
public class User
{
[DataMember(Name = "name")]
public string name { get; set; }
[DataMember(Name = "userId")]
public int userId { get; set; }
}
我在客戶端調用響應一個鍵值對使用時或在該狀態代碼可以像響應字典返回其他API的工作,例如「成功」,「200」見過。有沒有辦法在Web.Config或Interface類中爲WCF啓用這樣的功能?我希望客戶能夠收到錯誤代碼,以便在出現問題時成功或失敗。當我運行在瀏覽器這一請求,我得到以下有效的JSON:
[
{
"name": "APIClientTestUser",
"userId": 212,
}
]
無論是與此JSON或別的地方,我想客戶知道,調用成功或相應的HTTP代碼失敗。任何提示或建議如何做到這一點將不勝感激。
謝謝,這確實正是我需要的。 – zic10