Cargue el archivo usando el verbo PUT en ASP.Net Web Api 2

Me gustaría exponer una acción ASP.Net Web Api 2 utilizando el verbo HTTP PUT para cargar archivos. Esto es coherente con nuestro modelo REST ya que la API representa un sistema de archivos remoto (similar a WebDAV, pero realmente simplificado), por lo que el cliente elige los nombres de los recursos (por lo tanto, PUT es ideal y POST no es una opción lógica).

La documentación de la API web describeCómo cargar archivos usando formularios multiparte / datos de formulario, pero no describe cómo hacerlo utilizando métodos PUT.

¿Qué usarías para probar una API de este tipo (los formularios HTML de varias partes no permiten verbos PUT)? ¿Se vería la implementación del servidor como la implementación multiparte descrita enla documentación de la API web (utilizando laMultipartStreamProvider), o debería verse así:

[HttpPut]
public async Task<HttpResponseMessage> PutFile(string resourcePath)
{
    Stream fileContent = await this.Request.Content.ReadAsStreamAsync();
    bool isNew = await this._storageManager.UploadFile(resourcePath, fileContent);
    if (isNew)
    {
        return this.Request.CreateResponse(HttpStatusCode.Created);
    }
    else
    {
        return this.Request.CreateResponse(HttpStatusCode.OK);
    }
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta