Это, кажется, все глубже проникает в IIS, чем я хорош! Поэтому у меня есть контроллер веб-API, который отлично работает для GET и POST. На первом снимке экрана отображается обработка GET. Все было замечательно, я получаю ответ.HTTP PUT Ошибка в IIS 8.5
Но тогда я сделать запрос PUT и все разваливается. Это, кажется, круиз через ManagedPipelineHandler и затем проваливается к DefaultDocumentModule и не с 405.
Там нет WebDAV установлен и я попытался удалить это в любом случае на уровне web.config. Обработчики переопределяются для поддержки PUT.
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" />
</handlers>
Несмотря на это, запрос не обрабатывается ASP.NET, и я ищу некоторые идеи по отладке? Вот метод действия, который терпит неудачу, PUT и один, который работает, GET.
public class ProductsController : ApiController
{
[HttpPut]
[Route("api/products")]
public AddProductResponse AddProduct(AddProductRequest request)
{
return new AddProductResponse();
}
[HttpGet]
[Route("api/products/manufacturers")]
public ManufacturersResponse GetProductManufacturers()
{
var productService = new ProductService();
var manufacturers = productService.GetManufacturers();
return new ManufacturersResponse { Manufacturers = manufacturers.OrderBy(m => m.BusinessName) };
}
}
Кажется, я пропустил руку в начале жизненного цикла запроса.
FREB, кажется, показывает GENERAL_SHILD_REQUEST_START для PUT, не уверен, почему управляемый конвейер создает дополнительный дочерний запрос, который в конечном итоге попадает в модуль DefaultDocumentModule, который не может обрабатывать PUT.
Работает ли WebAPI PUT? – acarlon
Под этим я подразумеваю, что он обрабатывает глагол PUT: http: //www.asp.net/web-api/overview/web-api-routing-and-actions/routing-in-aspnet-web-api – acarlon
Добавлены методы действия, и да, они украшены маршрутами и глаголами. – Montane