В чем разница между wsHttpBinding и ws2007HttpBinding?

Вот возможная реализация в Swift с использованием двоичного поиска (из http://rosettacode.org/wiki/Binary_search#Swift с небольшими изменениями):

extension Array {
    func insertionIndexOf(elem: Element, isOrderedBefore: (Element, Element) -> Bool) -> Int {
        var lo = 0
        var hi = self.count - 1
        while lo <= hi {
            let mid = (lo + hi)/2
            if isOrderedBefore(self[mid], elem) {
                lo = mid + 1
            } else if isOrderedBefore(elem, self[mid]) {
                hi = mid - 1
            } else {
                return mid // found at position mid
            }
        }
        return lo // not found, would be inserted at position lo
    }
}

Как и в случае indexOfObject:inSortedRange:options:usingComparator:, предполагается, что массив сортируется относительно компаратора. Он возвращает либо (любой) индекс элемента, если элемент уже присутствует в массиве, либо индекс, в который он может быть вставлен при сохранении порядка. Это соответствует NSBinarySearchingInsertionIndex метода NSArray.

Использование:

let newElement = "c"
let index = myArray.insertionIndexOf(newElement) { $0 < $1 } // Or: myArray.indexOf(c, <)
myArray.insert(newElement, atIndex: index)

15
задан Nicolas Dorier 27 February 2009 в 14:29
поделиться

3 ответа

Привязка поддерживает различные протоколы. Эта страница на MSDN на самом деле имеет хорошую матрицу, которая объясняет, какие протоколы поддерживаются который привязка в WCF. Таким образом, при необходимости в interop с сервисами/клиентами, которые реализуют протоколы ОАЗИСА, используют привязку ws2007httpbinding, иначе, нет никакой причины не использовать wshttpbinding.

, Если Вы хотите войти в детали различных протоколов, проверьте их веб-сайты: WC3 и ОАЗИС . Я уверен, что существуют тонны ресурсов, которые выделяют различия в тех протоколах.

Другое крупное предприятие и правительства потребности использовать веб-сервисы и иметь различные требования. Таким образом различные стандарты имеют смысл.

7
ответ дан Szymon Rozga 28 February 2009 в 00:29
поделиться

Используя lastest стандарт походит на хорошую практику, но просто имейте в виду, что WS2007HttpBinding только поддерживается клиентами, которые выполняют, по крайней мере, версии среды выполнения.NET 3,5 SP1 или 3,0 SP1.

2
ответ дан foson 28 February 2009 в 00:29
поделиться
  • 1
    Я don' t думают, что это - грандиозное предприятие. Если Вам нужно целое число, только оценивает, чем можно использовать arc4random ()/0x100000000), * (high_bound-low_bound) +low_bound путем удаления плавания/двойного преобразования. – Tibidabo 2 March 2014 в 18:21

ws2007HttpBinding, определенный ОАЗИСОМ, является более новой версией, чем wsHttpBinding.

Это добавило ReliableSession, безопасность и протоколы TransactionFlow сверху Транзакций, Надежного обмена сообщениями и Обращающихся к WS протоколов wsHttpBinding.

могло быть легче запуститься с простой привязки, и при необходимости в будущем, можно всегда представлять существующие сервисы в более новой привязке, сосуществующей с более старой версией.

2
ответ дан Ray Lu 28 February 2009 в 00:29
поделиться
  • 1
    @gnasher729 Извините я don' t видят Вашу точку. Очевидно, при необходимости в двойной точности, Вы можете легкая замена " float" с " double" – Tibidabo 2 March 2014 в 18:13
Другие вопросы по тегам:

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