另一个文件上传连接超时ASP.net MVC

时间:2016-05-27 03:17:27

标签: c# asp.net asp.net-mvc upload connection-reset

我正在使用ASP.Net MVC 5构建一个应用程序。当上传一个大文件时,不是那么大(200MB),浏览器会给我一个“连接重置”错误。托管由Godaddy完成(豪华 - 共享托管计划)。

我搜索过无数的论坛,当然在这里,答案几乎总是一样的:

添加到system.web:

<httpRuntime maxRequestLength="2147483647" executionTimeout="999999"/>

和/或添加到system.webServer:

<security>
    <requestFiltering>
        <requestLimits maxUrl="32767" maxQueryString="32767" maxAllowedContentLength="2147483647" />
    </requestFiltering>
</security>

它必须放在Web.config中(在根目录下不是views文件夹中的那个)。

我知道maxRequestLenghtmaxAllowedContentLenght不是相同的单位(字节与千字节)。所以我尝试了不同的联合,相同的数字,不同的...

我也尝试过调用GoDaddy并询问他们是否可能在他们的最后,他们说,不,但他们告诉我,我可以在根目录中添加一个“.user.ini”文件,其中包含:

upload_max_filesize=2000M
memory_limit=128M
max_execution_time=99999
post_max_size=2000M
max_input_time=99999

这也不起作用......

这是代码,如果您需要控制器,只需询问,但由于浏览器有超时,我不明白这一点:

查看:

@using (Html.BeginForm("CreateSingleTune", "Upload", null, FormMethod.Post, new { enctype = "multipart/form-data" }))
 {
    @Html.AntiForgeryToken()
    ...
    <div class="form-group">
        @Html.Label(Resource.SampleLabel, new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            <input type="file" multiple="multiple" data-val="true" data-val-required="@Resource.ImageRequiredErrorMessage" id="SingleTuneViewModel_Sample" name="SingleTuneViewModel.Sample" />
            @Html.ValidationMessageFor(model => model.SingleTuneViewModel.Sample, "", new { @class = "text-danger" })
        </div>
    </div>
    <div class="form-group">
        <div class="col-md-offset-2 col-md-10">
            <input type="submit" value="@Resource.CreateButton" class="btn btn-primary" />
        </div>
    </div>
    ...
    }

型号:

public class SingleTuneViewModel
{
    [Required]
    [Display(Name = "Title")]
    public string Name { get; set; }

    [Required]
    [Display(Name = "Album")]
    public string AlbumName { get; set; }

    [Required]
    [Display(Name = "Tune")]
    public HttpPostedFileBase Tune { get; set; }

    [Required]
    [Display(Name = "Sample")]
    public HttpPostedFileBase Sample { get; set; }

    [Display(Name = "Price")]
    [DisplayFormat(DataFormatString = "{0:F2}", ApplyFormatInEditMode = true)]
    public decimal UnitPrice { get; set; }

}

有人可以帮助,我没有想法,而且看起来很简单。我唯一选择使用“块”吗?

0 个答案:

没有答案