简体   繁体   中英

SignalR Incorrect Content-Type from javascript call

When I make the call to SignalR (Cross-Domain) server from javascript fails the call telling Oops.

500 Internal Server Error System.InvalidOperationException Incorrect Content-Type: at Microsoft.AspNet.Http.Features.Internal.FormFeature.d__12.MoveNext() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult() at Microsoft.AspNet.SignalR.TaskAwaiterHelper.PreserveCultureAwaiter.GetResult() at Microsoft.AspNet.SignalR.Transports.LongPollingTransport.d__28.MoveNext() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult() at Microsoft.AspNet.SignalR.TaskAwaiterHelper.PreserveCultureAwaiter.GetResult() at Microsoft.AspNet.SignalR.Transports.ForeverTransport.d__29.MoveNext () at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult() at Microsoft.AspNet.SignalR.TaskAwaiterHelper.PreserveCultureAwaiter.GetResult()

<script type="text/javascript" src="~/lib/jquery/jquery.signalr-2.0.3.js"></script>
<script type="text/javascript" src="~/lib/jquery/jquery.signalr.hubs.js"></script>

<script type="text/javascript">
    $(function () {
        /*SignalR*/
        actividadSignalR = $.connection.Cross2BusinessHub;
        if (actividadSignalR != undefined) {
            actividadSignalR.on('RespuestaActividad', function (id) {
                alert("Respuesta recibida");
            });
        }
        /**Fin SignalR*/
        $('#table_@guid').customDataTable();

        $('.pausarContinuarActividad').on('click', function (e) {

            var controlEstadoActividad = $(this);
            if (controlEstadoActividad.hasClass('disabled'))
                return;
            var estadoActividadDiv = controlEstadoActividad.parent().parent().parent().find('.estadoActividad');
            var estadoActividad = estadoActividadDiv.html();
            estadoActividadDiv.loading(2);
            controlEstadoActividad.parent().find('a').addClass('disabled');

            $.connection.hub.start({ transport: activeTransport, jsonp: true }, function () {
                actividadSignalR.server.notificarCambioEstadoActividad(controlEstadoActividad.attr('data-identificacion'), controlEstadoActividad.attr('data-evento'))
                    .done(function () {
                        alert("Respuesta enviada");
                    }).fail(function () {
                        notify('Información', 'No se puede pausar la actividad.', { hPos: 'center', showCloseOnHover: false });
                        estadoActividadDiv.html(estadoActividad);
                        controlEstadoActividad.parent().find('a').removeClass('disabled');
                    });
            });
        });

        $('.cancelarActividad').on('click', function (e) {

        });
    });
</script>

Looks like you are using AspNet v5 - this is a bug . The bug says it happens for long polling so it may work if you try a different transport.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM