在ajax-post请求后,如何防止SignalR客户端重新连接?

时间:2019-06-04 10:05:44

标签: asp.net-mvc signalr

我将SignalR用于实时aspnet应用程序。用户应通过表格上传文件。

我使用JQuery代码进行上传-它将ajax请求后的内容发送到控制器方法:

<form id="uploader">
    <label>Upload file:</label>
    <input name="file" id="fileInput" type="file" multiple>
    <input type="submit" value="Upload and check" id="check" />
</form>
$("#check").click(function () {
        $("#uploader").ajaxSubmit({ url: '/Home/UploadAjax', type: 'post' });
    })
public void UploadAjax()
        {
           for (int i = 0; i < Request.Files.Count; i++)
            {
                HttpPostedFileBase file = Request.Files[i]; 
                int fileSize = file.ContentLength;
                string fileName = file.FileName;
                string mimeType = file.ContentType;
                System.IO.Stream fileContent = file.InputStream;

                file.SaveAs($@"{userFolderPath}\{fileName}"); 
                Temp.certPath = $@"{userFolderPath}\{fileName}";
            }

        }

但是在UploadAjax()方法结束后,signalR重新连接到服务器。为什么会发生以及如何预防?

1 个答案:

答案 0 :(得分:0)

问题出在输入类型上。 submit导致页面刷新。 更改为button可解决问题:

<input type="button" value="Upload and check" id="check" />