SignalR: озадачен именами методов - CamelCase vs lowerCamelCase - в чем смысл? - PullRequest
1 голос
/ 04 апреля 2019

Не могли бы вы сказать, почему имена в классах Hub находятся в CamelCase, а в js-коде на стороне клиента - в lowerCamelCase? И почему я не могу вызвать Hello-метод из MyHub-класса просто MyHub.server.Hello?

Я имею в виду, что было бы более понятно называть backend-методы их точными именами c #, не так ли? Имеет ли это переименование какое-либо другое значение, кроме соглашений в стиле кода?

Надеюсь, мой вопрос достаточно ясен.

В script.js:

$(function() {
    var hub = $.connection.myHub;

    hub.client.hello = function (message) { //why not hub.client.Hello ?
        alert(message);
    }

    $("#btn").click(function(){
         hub.server.hello(); //why not hub.server.Hello() ??
    });

});

В классе MyHub:

public class MyHub : Hub
    {
        public void Hello()
        {
            Clients.All.hello(); //why not Clients.All.Hello() ?
        }
    }

Ответы [ 2 ]

0 голосов
/ 04 апреля 2019

Javascript традиционно использует соглашение об именах camelCase для имен методов, экосистема .net обычно использует PascalCase. Javascript и некоторые языки .net чувствительны к регистру.

0 голосов
/ 04 апреля 2019

Это связано с соглашением об именах и прокси-кодами SignalR.

JavaScript - это чувствительный к регистру язык, в котором, как Dotnet предлагает CamelCasing.Вызов метода на стороне сервера проходит через прокси-коды, которые есть в javascript.

...