【问题标题】:Calling asp.net WebApi from mvc4 application throwing a 500从 mvc 4 应用程序调用 asp.net Web Api 抛出 500
【发布时间】:2012-08-31 05:24:41
【问题描述】:

我在使用 asp.net WebApi 项目时遇到了一些问题。我正在使用 rtm 位。

在我的 api 控制器中,我有这个

[HttpPut]
public Business Update([FromBody]Business business)
{
    try
    {
        if (business.Id == Guid.Empty)
        {
            throw new HttpResponseException(HttpStatusCode.BadRequest);
        }

        return _repository.Update(business);

    }
    catch (Exception ex)
    {
        log4net.ILog log = log4net.LogManager.GetLogger(this.GetType());
        log.Info(string.Format("Update Error Business"));
        log.Info(ex);
        throw;
    }
}

我的 mvc4 应用程序我正在从应用程序的存储库中调用此 api 方法

public static HttpResponseMessage Put(string apiMethod,string baseAddress,object objectData)
{
    var myHttpClient = new HttpClient
    {
        BaseAddress = new Uri(baseAddress)
    };
    myHttpClient.DefaultRequestHeaders.Authorization = new BasicAuthenticationHeaderValue("username", "Password1");
    myHttpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    var put = myHttpClient.PutAsJsonAsync(apiMethod, objectData);
    var x = put.Result;
    return x;
}

我不断收到服务器 500 错误。我在 api 控制器上有一个断点,它没有被击中。如果从 3rd 方工具手动调用 api,则会调用 api。

我已经检查了所有基本的东西,但似乎无法弄清楚发生了什么。

谁有任何提示我可以用来找出问题所在?

【问题讨论】:

  • 你设置GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;看真正的错误了吗?
  • 刚刚添加,似乎没有任何变化
  • 这是一个 WebHost/SelfHost 场景吗?...如果它的 SelfHost,格式化程序写入期间的异常将没有详细信息,只是 500 内部服务器错误...关于“我有一个断点在 api 控制器上并且它没有被击中。如果从 3rd 方工具手动调用 api,则调用 api。”,可以分享您的路线和您发送的网址吗?
  • 它是一个网络托管的应用程序。在同一个解决方案中只是一个单独的项目。我认为这条路线很好,因为我可以从其他方法中调用它
  • 你有没有检查过 Fiddler 发送的请求是什么样子的……也许你可以得到一些新的见解……

标签: asp.net-mvc-4 asp.net-web-api


【解决方案1】:

我也陷入了类似的情况。不确定是否与您的情况完全相同。通常 PUT/DELETE 有一些问题。这是我的问题(您可以决定它是否类似于您的问题): PUT and DELETE returns 404 for asp.net webapi in Windows 2008 Server IIS 7 and 7.5

【讨论】:

    猜你喜欢
    • 2012-04-04
    • 2017-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-23
    • 2010-09-21
    • 1970-01-01
    相关资源
    最近更新 更多