从mvc4应用程序调用asp.net WebApi抛出500

时间:2012-08-29 21:06:07

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

我在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控制器上有一个断点,它没有被击中。如果从第三方工具手动调用api,则会调用api。

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

任何人都有任何提示我可以用来弄清楚什么是错的?

1 个答案:

答案 0 :(得分:0)

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