相关疑难解决方法(0)

Server.MapPath和HostingEnvironment.MapPath有什么区别?

有什么区别Server.MapPath()HostingEnvironment.MapPath()?是否Server.MapPath()有任何优势了HostingEnvironment.MapPath()

我原来的问题是当服务器上的文件路径HttpContext不存在时映射,我无法将Server变量传递Global.asax给我的方法.

我用HostingEnvironment.MapPath()它代替,因为它不需要HttpContext.有这两种方法会产生不同结果的情况吗?

c# asp.net

168
推荐指数
2
解决办法
7万
查看次数

ASP.NET Web API,从Flex FileReference上载时,MIME多部分流的意外结束

按照ASP.NET上的教程,实现了一个Web API控制器方法,用于执行如下所示的异步文件上载:

public Task<HttpResponseMessage> PostFormData()
{
    // Check if the request contains multipart/form-data.
    if (!Request.Content.IsMimeMultipartContent())
    {
        throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
    }

    string root = HttpContext.Current.Server.MapPath("~/App_Data");
    var provider = new MultipartFormDataStreamProvider(root);

    // Read the form data and return an async task.
    var task = Request.Content.ReadAsMultipartAsync(provider).
        ContinueWith<HttpResponseMessage>(t =>
        {
            if (t.IsFaulted || t.IsCanceled)
            {
                Request.CreateErrorResponse(HttpStatusCode.InternalServerError, t.Exception);
            }

            return Request.CreateResponse(HttpStatusCode.OK);
        });

    return task;
}
Run Code Online (Sandbox Code Playgroud)

通过标准的多部分HTML表单上传文件非常有效.但是,当另一个开发人员尝试通过Flex的FileReference类构造的多部分表单上载文件时,会抛出错误:

MIME多部分流的意外结束.MIME多部分消息未完成.

我不知道问题出在Web API或Flex上.我找到了一些没有任何影响的相关修复程序(使用ASP.Net Web API的多部分表单POST),最近发现了这一个("多部分流.MIME多部分消息未完成"webapi上传错误).如果第二个链接成立,是否有人知道它是否在通过Nuget提供的当前版本的Web API中出现?讨论是在5月份,Nuget的最新版本是8月,所以我认为这个修补程序已经部署,并不是我的问题的根本原因.

apache-flex asp.net-mvc asp.net-web-api

25
推荐指数
4
解决办法
4万
查看次数

标签 统计

apache-flex ×1

asp.net ×1

asp.net-mvc ×1

asp.net-web-api ×1

c# ×1