Дистанционная работа.NET действительно удерживается от использования?

Я думаю о лучшем, которое я могу сделать, дают Вам набор примеров для изучения. Программисты JavaScript практически оцениваются тем, как хорошо они понимают объем. Это может время от времени быть довольно парадоксально.

  1. А глобально ограниченная по объему переменная

    // global scope
    var a = 1;
    
    function one() {
      alert(a); // alerts '1'
    }
    
  2. Локальный объем

    // global scope
    var a = 1;
    
    function two(a) { // passing (a) makes it local scope
      alert(a); // alerts the given argument, not the global value of '1'
    }
    
    // local scope again
    function three() {
      var a = 3;
      alert(a); // alerts '3'
    }
    
  3. Промежуточное звено : Никакая такая вещь как область действия блока в JavaScript (ES5; ES6 представляет let )

    a.

    var a = 1;
    
    function four() {
      if (true) {
        var a = 4;
      }
    
      alert(a); // alerts '4', not the global value of '1'
    }
    

    b.

    var a = 1;
    
    function one() {
      if (true) {
        let a = 4;
      }
    
      alert(a); // alerts '1' because the 'let' keyword uses block scoping
    }
    
  4. Промежуточное звено : Свойства объектов

    var a = 1;
    
    function Five() {
      this.a = 5;
    }
    
    alert(new Five().a); // alerts '5'
    
  5. Усовершенствованный : Закрытие

    var a = 1;
    
    var six = (function() {
      var a = 6;
    
      return function() {
        // JavaScript "closure" means I have access to 'a' in here,
        // because it is defined in the function in which I was defined.
        alert(a); // alerts '6'
      };
    })();
    
  6. Усовершенствованный : Основанное на прототипе разрешение объема

    var a = 1;
    
    function seven() {
      this.a = 7;
    }
    
    // [object].prototype.property loses to
    // [object].property in the lookup chain. For example...
    
    // Won't get reached, because 'a' is set in the constructor above.
    seven.prototype.a = -1;
    
    // Will get reached, even though 'b' is NOT set in the constructor.
    seven.prototype.b = 8;
    
    alert(new seven().a); // alerts '7'
    alert(new seven().b); // alerts '8'
    
  7. Global+Local: дополнительный сложный Случай

    var x = 5;
    
    (function () {
        console.log(x);
        var x = 10;
        console.log(x); 
    })();
    

    Это распечатает undefined и 10, а не 5 и 10, так как JavaScript всегда перемещает объявления переменной (не инициализации) к вершине объема, делая код эквивалентным:

    var x = 5;
    
    (function () {
        var x;
        console.log(x);
        x = 10;
        console.log(x); 
    })();
    
  8. Выгода ограниченная по объему пунктом переменная

    var e = 5;
    console.log(e);
    try {
        throw 6;
    } catch (e) {
        console.log(e);
    }
    console.log(e);
    

    Это распечатает 5, 6, 5. В тенях пункта e выгоды глобальные и локальные переменные. Но этот специальный объем только для пойманной переменной. Если Вы пишете var f; внутренняя часть пункт выгоды, то это - точно то же, как будто Вы определили его прежде или после блока try-catch.

92
задан Mark 18 August 2009 в 17:16
поделиться

3 ответа

Называть это устаревшей технологией - это больше точное описание.

http://msdn.microsoft.com/en-us/library/72x4h507%28VS.85%29.aspx

Этот раздел относится к устаревшим технология, которая сохраняется для обратная совместимость с существующими приложения и не рекомендуется для новой разработки. Распространено приложения теперь должны быть разработаны с помощью Windows Communication Foundation (WCF).

Обновление: WCF не делает различий между внутренними / внутренними / процессными / внутренними / внутренними доменами приложений. Если вы используете связь на одной машине в WCF, вы используете именованные каналы - их использование должно обеспечить хорошую производительность практически во всех реалистичных сценариях.

Для сравнения производительности различных технологий распределенной связи см. Здесь .

54
ответ дан 24 November 2019 в 06:35
поделиться

Да. Удаленное взаимодействие устарело ... и официально от Microsoft. Вот ссылка:

.NET Remoting

В первой строке статьи выделено жирным шрифтом:

Эта тема относится к устаревшей технологии, которая сохраняется для обратной совместимости с существующими приложениями и не является рекомендуется для новой разработки. Распределенные приложения теперь должны разрабатываться с использованием Windows Communication Foundation (WCF).

Я думал, что это словоблудие «устарело», но, очевидно, они называют его «устаревшим»

10
ответ дан 24 November 2019 в 06:35
поделиться

Клеменс Вастерс, технический руководитель Microsoft .NET Service Bus (что означает как удаленное взаимодействие, так и WCF), рассказывает о WCF и удаленном взаимодействии в этом сообщении на форуме . Подводя итог публикации, он в конечном итоге рекомендует WCF вместо удаленного взаимодействия.

Я не уверен, использует ли .NET 4.0 внутреннее удаленное взаимодействие, но вы можете попробовать отправить Клеменсу вопрос ... Я уверен, что он знает ответ.

2
ответ дан 24 November 2019 в 06:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: