我正在做一个Api控制器应用程序。
On My Api方法我想调用另一个Project中定义的Function。我想用IOC。我定义了一个接口和一个继承自接口的类。
我在调用Controller / Method时遇到的问题是我有错误Internal Server Error (500)
我测试每个可能性,因为我使用了一个Controller Constructor。如果我避免使用它,那就是Works。
它不起作用,
public class LoginController : ApiController
{
private IUserLogin _userLogin;
public LoginController(IUserLogin userLogin)
{
_userLogin = userLogin;
}
[HttpPost]
public UserToken Login([FromBody]Users user)
{
return _userLogin.SetToken(user);
}
}

没有构造函数
public class LoginController : ApiController
{
[HttpPost]
public UserToken Login([FromBody]Users user)
{
private IUserLogin _userLogin;
return _userLogin.SetToken(user);
}
}

有效......
我正在接受WinForm这样的调用
using (HttpClient client = new HttpClient())
{
//reference nuget Microsoft.AspNet.WebApi
client.BaseAddress = new Uri(apiUrl);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
var response = client.PostAsJsonAsync(apiUrl + "Login/Login", user).Result;
if (response.IsSuccessStatusCode)
userToken = response.Content.ReadAsAsync<UserToken>().Result;
else
throw new Exception("Error");
}
&#13;
如何使用Controller Constructor而不会出现任何错误?