asp.net mvc4 WebApi beta 升级后无法使用 FirstDispositionName或Defaul



我刚刚从 WebApi beta 升级到 NuGet 的最新 WebApi 包。我正在使用的Visual Studio项目面向.NET 4.0而不是4.5。

我已经能够解决除一个问题之外的所有问题。我正在通过以下代码使用多部分表单上传文件:

        // Verify that this is an HTML Form file upload request
        if (!Request.Content.IsMimeMultipartContent("form-data"))
        {
            throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
        }
        var task = Request.Content.ReadAsMultipartAsync();
        var dateField = task.Result.FirstDispositionNameOrDefault("expireby");
        if (dateField == null)
        {
            return this.SendResponse(HttpStatusCode.BadRequest, ":dateNotFound:");
        }
        var dateFieldValue = dateField.ReadAsStringAsync().Result;
        if (!DateTime.TryParse(dateFieldValue, out expireBy))
        {
            return this.SendResponse(HttpStatusCode.BadRequest, ":invalidDateFormat:");
        }

方法FirstDispositionName或Default不再编译,我收到以下错误:

"System.Net.Http.MultipartMemoryStreamProvider"不包含 定义"第一个处置名称或默认值",并且没有扩展方法 "FirstDispositionNameOrDefault"接受类型的第一个参数 可以找到"System.Net.Http.MultipartMemoryStreamProvider"(是 您缺少 using 指令或程序集引用?

谷歌没有返回任何相关结果。有人可以提供对此问题的见解吗?

确实,您在代码中使用的 API 在 Beta 版之后发生了变化。它旨在解决以下问题:http://aspnetwebstack.codeplex.com/workitem/53

这是更改集 http://aspnetwebstack.codeplex.com/SourceControl/changeset/8fda60945d49

如果一些额外的说明有帮助,这里是 http://www.asp.net/web-api/overview/working-with-http/sending-html-form-data,-part-2

问候特洛伊

相关内容

  • 没有找到相关文章

最新更新