【发布时间】:2017-11-16 00:44:11
【问题描述】:
我正在使用以下代码通过 RestSharp 从 C# 代码调用 Asp.net WebApi
RestClient Client = new RestClient();
Client.BaseUrl = new Uri("http://localhost:27156");
var request = new RestRequest("api/GetUserName", Method.POST);
UserDto user = new UserDto { Ldap = "rahkuma"};
request.AddHeader("Accept", "application/json");
request.RequestFormat = DataFormat.Json;
//request.AddJsonBody(user);
request.AddBody(user);
var response = Client.Execute<UserDto>(request);
服务抛出 StatusCode : NotFound 和 ErrorException “引用未声明的实体 'nbsp'。第 69 行,第 41 位。” 我可以从 AngularJs 使用它,但从 C#(WebForm) 使用 restclient 它会抛出异常。 对此的任何帮助将不胜感激。 Web API 控制器代码如下
[HttpPost]
public ResponseModel<UserDto> GetUserName(UserDto user)
{
string Role = "Read";
ResponseModel<UserDto> response = null;
try
{
var res = _accountLogic.GetUserName(new UserDto { Ldap = Utilities.Decrypt(user.Ldap) });
if (res != null)
{
res.Ldap = user.Ldap;
var roleDetail = _accountLogic.GetUserRoles(res.EmpLdap);
if (roleDetail != null)
{
res.Role = roleDetail.Role;
res.LockEdit = roleDetail.LockEdit;
res.ManagementAdjPlug = roleDetail.ManagementAdjPlug;
}
response = new ResponseModel<UserDto>();
response.Data = res;
response.ResponseStatus = Common.Enums.ResponseStatus.Sucess;
}
}
catch (Exception ex)
{
response = new ResponseModel<UserDto>();
response.ResponseStatus = Common.Enums.ResponseStatus.Error;
response.ErrorMessage = ex.Message;
throw ex;
}
return response;
}
【问题讨论】:
-
你能显示你正在点击的控制器的代码吗?
-
嗨丹尼尔,我已经添加了控制器代码。使用 angularjs 使用它时工作正常,但使用 c# 它不起作用
-
1.您显示的代码中的第 69 行是哪一行? 2. 能不能展示下AngularJS代码正常工作?
-
嗨,下面的角代码玛丽亚工作正常 var _getUserInfo = function (sldap) { var deferred = $q.defer(); $http({ method: 'POST', url: serviceBase + 'Account/GetUserName', data: JSON.stringify({ Ldap: sldap }), headers: { 'Content-Type': 'application/json' } }) .success(function (response) { _Appuser = response.Data; deferred.resolve(response); }).error(function (err, status) { deferred.reject(err); });返回 deferred.promise; }
-
@rahulrathore 我认为更相关的问题是 Maria 的第一个问题:“你展示的代码中的第 69 行是哪一行?”
标签: c# asp.net-web-api rest-client