Схема аутентификации NTLM не поддерживается, а другие проблемы переносятся из .asmx в wcf - PullRequest
0 голосов
/ 01 декабря 2010

Я только что переключил свой веб-сервис .asmx на WCF (оба в .NET 3.5), и теперь я получаю

The authentication scheme ' NTLM' is not supported. 

Единственное, что я видел в Google, это то, что некоторые настройки w3svc / NTAuthenticationProviders имели NTML вместо NTLM. У меня нет этой проблемы.

1 Ответ

3 голосов
/ 01 декабря 2010

Хорошо - вот краткое изложение некоторых раздражающих проблем WCF, с которыми я столкнулся при миграции, надеюсь, кому-то это поможет.

Проблема 1 - «Эта коллекция уже содержит адрес со схемой http. Может быть не более одногоадрес по схеме в этой коллекции. "

Это вызвано, я думаю, моим веб-сервером, имеющим несколько веб-сайтов с несколькими заголовками узлов.Решение найдено здесь: Ошибка запуска службы WCF "Эта коллекция уже содержит адрес со схемой http" .

Я только что добавил baseAddressPrefixFilter:

<serviceHostingEnvironment>
    <baseAddressPrefixFilters>
        <add prefix="http://yoururl.blahblah.com/" />
    </baseAddressPrefixFilters>
</serviceHostingEnvironment>

Проблема 2: Я получил The authentication scheme ' NTLM' is not supported. ошибку.Я боролся с этим некоторое время, но в конце концов перезагрузка заставила его уйти (хотя я тоже это сделал (http://bytes.com/topic/net/answers/705912-authentication-scheme-ntml-not-supported):

# change directory to c:\inetpub\admin scripts first
cscript adsutil.vbs set w3svc/NTAuthenticationProviders "Negotiate,NTLM"

В моей конфигурации был пробел после первой запятой, не знаю,это вызывало проблему.

Проблема 3: После перезагрузки я получил ошибку .404.

Первое, что я предположил, было то, что wcf не был настроен для размещения на моем сервере.поэтому я запустил: (http://msdn.microsoft.com/en-us/library/ms732012.aspx)

serviceModelReg.exe -i

Но реальный источник 404 был вызван тем, что я пытался перейти на http://yoururl/somewhere.svc вместо http://yoururl.blahblah.com/somewhere.svc (т.е. мой baseAddressPrefixFilterбыл причиной моего 404).

Надеюсь, это поможет!

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