|  | 
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ Юзер коннектится к сервису далее коннектиться к SQL Server. Если коннект к сервису через basichttp - всё ок. Если через net.tcp - ошибка: Код: c# 1. Если сервис на другом компьютере, то там то же, но про System.EnterpriseServices куда смотреть? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.03.2015, 20:04 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ Winnipuh, Похоже на то, что надо копать в сторону ключевых слов WCF и Impersonate a client after authentication. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.03.2015, 20:18 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ AxeleronWinnipuh, Похоже на то, что надо копать в сторону ключевых слов WCF и Impersonate a client after authentication. на локальной машине - все ок. Проверил на двух парах разных - вот такая фигня. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.03.2015, 11:13 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ WinnipuhAxeleronWinnipuh, Похоже на то, что надо копать в сторону ключевых слов WCF и Impersonate a client after authentication. на локальной машине - все ок. Проверил на двух парах разных - вот такая фигня.System.Transactions относится к SQL CLR. На локале небось обновил до версии 4.0 и лежит все в GAC. А на других машинах нет. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.03.2015, 14:58 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ skyANA, Ты б почитал сообщение ошибки сперва прежде чем отвечать - там черным по белому два раза сказано слово Impersonation. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.03.2015, 15:00 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ Вообще не исключаю, что ошибка связано с проблемой double hop ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.03.2015, 15:10 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ skyANAWinnipuhпропущено... на локальной машине - все ок. Проверил на двух парах разных - вот такая фигня.System.Transactions относится к SQL CLR. На локале небось обновил до версии 4.0 и лежит все в GAC. А на других машинах нет. Не совсем так. Есть машины сервер и клиент. На сервере ставлю WCF, на клиенте NET приложение и там, и там используется net.tcp. Пускаю приложение - есть ошибка. Далее: ставлю на сервер клиентское приложение, пускаю - нет ошибки. Такая фигня, думаю, что если бы было так как описал skyANA, то ошибка бы воспроизводилась и при локальном варианте. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.03.2015, 15:52 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ WinnipuhskyANAпропущено... System.Transactions относится к SQL CLR. На локале небось обновил до версии 4.0 и лежит все в GAC. А на других машинах нет. Не совсем так. Есть машины сервер и клиент. На сервере ставлю WCF, на клиенте NET приложение и там, и там используется net.tcp. Пускаю приложение - есть ошибка. Далее: ставлю на сервер клиентское приложение, пускаю - нет ошибки. Такая фигня, думаю, что если бы было так как описал skyANA, то ошибка бы воспроизводилась и при локальном варианте. То что говорил skyANA, предполагалось, что на клиентской машине что-то недоустановлено в GAC. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.03.2015, 15:55 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ skyANAWinnipuhпропущено... на локальной машине - все ок. Проверил на двух парах разных - вот такая фигня.System.Transactions относится к SQL CLR. На локале небось обновил до версии 4.0 и лежит все в GAC. А на других машинах нет. да, но должен сказать, что эксцепция возбуждается на sqlConnection.Open(); ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.03.2015, 15:55 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ WinnipuhskyANAпропущено... System.Transactions относится к SQL CLR. На локале небось обновил до версии 4.0 и лежит все в GAC. А на других машинах нет. да, но должен сказать, что эксцепция возбуждается на sqlConnection.Open(); Поэтому я и говорю что у Вас проблема в возбуждении правильной имперсоны! ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.03.2015, 16:18 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ Winnipuh, И очень вероятно, что проблема Ваша - в double hop ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.03.2015, 16:21 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ AxeleronskyANA, Ты б почитал сообщение ошибки сперва прежде чем отвечать - там черным по белому два раза сказано слово Impersonation.Написано, что не могу загрузить сборку.  ИЛИ  проблемы с Impersonation. Перечитал три раза, слово ИЛИ не исчезло :) ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 30.03.2015, 11:45 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ skyANAAxeleronskyANA, Ты б почитал сообщение ошибки сперва прежде чем отвечать - там черным по белому два раза сказано слово Impersonation.Написано, что не могу загрузить сборку.  ИЛИ  проблемы с Impersonation. Перечитал три раза, слово ИЛИ не исчезло :) Ага, сначала последствие: Код: c# 1. А потом и причина через или Код: c# 1. or Код: c# 1. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 30.03.2015, 11:49 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ Axeleron, короче 1. в первый раз я читал с мобилы; 2. тупо кинуть сборку нужной версии в папку сервиса - минутное дело. HRESULT: 0x80070542 - это ERROR_BAD_IMPERSONATION_LEVEL. ИМХО эккаунту, из-под которого работает сервис надо выдать право: Act as part of the operating system . ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 30.03.2015, 11:57 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ skyANAAxeleron, короче 1. в первый раз я читал с мобилы; 2. тупо кинуть сборку нужной версии в папку сервиса - минутное дело. HRESULT: 0x80070542 - это ERROR_BAD_IMPERSONATION_LEVEL. ИМХО эккаунту, из-под которого работает сервис надо выдать право: Act as part of the operating system . тупо скинуть не проблема, но поможет ли? 1. Попытался подключиться с того же клиента к сервису на другом компьютере: получил то же сообщение, но вместо System.Transactions там System.EnterpriseServices 2. Скопировал клиента на обе машины с сервисами и локально проверил - все работает. Значит не в длл дело? 3. Возможно причина в имперсонификации. Как правильно сделать: Клиент использует net.tcp, на машине залогинен юзер1, коннектится к сервису на машине, где залогинен юзер2, сервис запущен под консолью для простоты, нужно чтобы в сервисе SqlConnection (Trusted) делался от юзера юзер1. ? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 30.03.2015, 12:14 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ Winnipuh2. Скопировал клиента на обе машины с сервисами и локально проверил - все работает. Значит не в длл дело? 3. Возможно причина в имперсонификации. Как правильно сделать: Клиент использует net.tcp, на машине залогинен юзер1, коннектится к сервису на машине, где залогинен юзер2, сервис запущен под консолью для простоты, нужно чтобы в сервисе SqlConnection (Trusted) делался от юзера юзер1. ?"локально проверил" - это зашёл под собой и проверил? :) В чём проблема залогинить юзер1 вместо юзер2? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 30.03.2015, 12:22 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ Winnipuh, набери в пуске "Local Security Policy", в появившемя окне в дереве выбери "User Rights Assignment". Справа в табличке втань на строку "Act as part of the operating system", нажми на правую кнопку мыши, выбери "Properties". В появившемся окошке ткни в "Add User or Group..." и добавь своего юзер2. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 30.03.2015, 12:30 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ skyANAWinnipuh2. Скопировал клиента на обе машины с сервисами и локально проверил - все работает. Значит не в длл дело? 3. Возможно причина в имперсонификации. Как правильно сделать: Клиент использует net.tcp, на машине залогинен юзер1, коннектится к сервису на машине, где залогинен юзер2, сервис запущен под консолью для простоты, нужно чтобы в сервисе SqlConnection (Trusted) делался от юзера юзер1. ?"локально проверил" - это зашёл под собой и проверил? :) В чём проблема залогинить юзер1 вместо юзер2? мы о разных вещах: 1. есть сервис, запущенный на машине2 под юзер2 2. к сервису конектится клиент1, запущенный на машине1 под юзер1_1 3. к сервису конектится клиент2, запущенный на машине1 под юзер1_2 4. сервис делает коннект к SQL Server по трастед как юзер, который к нему коннектнулся. В сервисе сделал тако1 вывод в лог: Код: c# 1. 2. 3. 4. 5. 6. 7. В логе вижу Код: c# 1. 2. 3. почти сарзу после этого вывода делаю грубо говоря так: Код: c# 1. 2. 3. 4. 5. 6. хотя данный юзер имеет права на скл сервере, собственно домен\Domain Users имеют. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 30.03.2015, 12:57 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ Winnipuh, Вами описана типичная ситуация проблемы double hop ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 30.03.2015, 13:01 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ AxeleronWinnipuh, Вами описана типичная ситуация проблемы double hop Сервер работает как консольное приложение, запущенное юзер2 sqlconnection.Open() выдает эксцепцию catch (Exception x) { var windowsIdentity = WindowsIdentity.GetCurrent(); if (windowsIdentity != null) mainLogger.MainLogger.ErrorFormat("Connection: Name={0}, x={1}", windowsIdentity.Name, x.Message); Name='домен\юзер1';// !!!<-- правильный юзер, пришедший с клиента1 x= {"Login failed for user 'NT AUTHORITY\\ANONYMOUS LOGON'."} System.Exception {System.Data.SqlClient.SqlException} ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 30.03.2015, 13:24 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ та же фигня и под IIS x= {"Login failed for user 'NT AUTHORITY\\ANONYMOUS LOGON'."} System.Exception {System.Data.SqlClient.SqlException} ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 30.03.2015, 13:27 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ Winnipuh, Ага, о чем и речь ведем. До сервиса исперсонация дошла, а сервис уже не подхватывает ее для конекции с БД. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 30.03.2015, 13:27 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ Тут нужен не NTLM, а Keberos. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 30.03.2015, 13:28 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ Chapter 6: Impersonation and Delegation in WCF  См. параграф Controlling Impersonation on the Client Side . ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 30.03.2015, 13:43 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ AxeleronWinnipuh, Ага, о чем и речь ведем. До сервиса исперсонация дошла, а сервис уже не подхватывает ее для конекции с БД. да, и? схема такая: юзер1 на машине1->wcf под юзер2 на машине2 ->sql server на машине3 ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 30.03.2015, 15:36 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ Winnipuhюзер1 на машине1->wcf под  юзер2  на машине2 ->sql server на машине3 А с какой это стати юзер2, а не юзер1? У вас же Windows Authentication на sql? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 30.03.2015, 16:03 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ У Вас получается, что юзер1 на машине1 вызывает wcf сервис на машине2 под своими креденшиалами, а они при обращении с машины2 к sql на машине3 теряются и принимают юзера1 как анонима. Это и назывется проблема Double Hop, которая, обычно решается настройкой Kerberos аутентификации. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 30.03.2015, 16:09 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ AxeleronУ Вас получается, что юзер1 на машине1 вызывает wcf сервис на машине2 под своими креденшиалами, а они при обращении с машины2 к sql на машине3 теряются и принимают юзера1 как анонима. Это и назывется проблема Double Hop, которая, обычно решается настройкой Kerberos аутентификации. так где и что настраивать? надо ли создавать SPN и какие? можно ли вот так сделать? клиент юзер1 (домен1\win7)->wcf (под юзер2, но имперсонифицирующийся под юзер1) (домен1\win7)->sql server (домен1\север1) что и где сделать? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 30.03.2015, 17:17 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ Winnipuh, Откуда Вы берете юзера2 на wcf? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 30.03.2015, 17:36 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ Winnipuh, Зайдите по ссылке и сделайте то же самое на сервере WCF для своего домен юзера. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 30.03.2015, 17:51 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ WinnipuhЮзер коннектится к сервису далее коннектиться к SQL Server. Если коннект к сервису через basichttp - всё ок. Если через net.tcp - ошибка: Код: c# 1. Если сервис на другом компьютере, то там то же, но про System.EnterpriseServices куда смотреть? Сделал типа такого: http://www.codeproject.com/Articles/38979/How-to-enable-multi-hop-impersonation-using-constr 1. скопировал пальцами из GAC в фолдер сервиса - прошло 2. появилось то же сообщение об System.EnterpriseServices.dll 3. скопировал и эту ассембли - прошло 4. появилась ошибка подключения к SQL Server - incorrect instance name и т.д., но я его правильно указал По 1-3 - это неправильно, похоже не хватает привилегий для загрузки длл из GAC? но каких? По 4 - п-ц, вообще непонятно, что нужно. В Event Viewer вижу, что юзер1 залогинен на серверной машине, правда сообщение 4624 SID = NULL SID? но пишет, что все суксессфульно. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 31.03.2015, 15:30 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ AxeleronWinnipuh, Зайдите по ссылке и сделайте то же самое на сервере WCF для своего домен юзера.Баян :) 17449295 ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 31.03.2015, 15:45 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ skyANAAxeleronWinnipuh, Зайдите по ссылке и сделайте то же самое на сервере WCF для своего домен юзера.Баян :) 17449295 Та чо ты! Проблемы руками так скушно решать... ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 31.03.2015, 15:47 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ AxeleronskyANAпропущено... Баян :) 17449295 Та чо ты! Проблемы руками так скушно решать...Думаешь в картинках ТС поймёт? :) ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 31.03.2015, 15:49 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ skyANAAxeleronпропущено... Та чо ты! Проблемы руками так скушно решать...Думаешь в картинках ТС поймёт? :) Навряд ли. Ну только, может быть, если цветные... ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 31.03.2015, 16:00 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ AxeleronskyANAпропущено... Думаешь в картинках ТС поймёт? :) Навряд ли. Ну только, может быть, если цветные... да сделал я, задорные смешливые ребята, сделал, нихера не помогло. Дело не в этом. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 31.03.2015, 16:34 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ Winnipuhда сделал я, задорные смешливые ребята, сделал, нихера не помогло.  Дело не в этом. Есть у меня что-то смутные подозрения, что сделали не на том сервере и не для того юзера.... ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 31.03.2015, 17:11 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ AxeleronWinnipuhда сделал я, задорные смешливые ребята, сделал, нихера не помогло.  Дело не в этом. Есть у меня что-то смутные подозрения, что сделали не на том сервере и не для того юзера.... не, сделал для всех трех юзеров, на трех серверах, и даже больше сделал. Но - результат никакой. проверил setspn, пишет, что все ок. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 31.03.2015, 18:08 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ Winnipuh, А рестартанули Claims to Windows Token Service и IIS после изменений? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 31.03.2015, 18:20 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ Winnipuh, А что за юзер в Application Pool для сайта установлен? Его тоже добавили? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 31.03.2015, 18:22 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ AxeleronWinnipuh, А что за юзер в Application Pool для сайта установлен? Его тоже добавили? для простоты я захостил WCF сервис в консольном приложении ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 31.03.2015, 21:06 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ WinnipuhAxeleronWinnipuh, А что за юзер в Application Pool для сайта установлен? Его тоже добавили? для простоты я захостил WCF сервис в консольном приложении И все то же самое? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 31.03.2015, 21:12 |  | ||
| 
WCF net.tcp: не может загрузить System.Transactions | |||
|---|---|---|---|
| #18+ AxeleronWinnipuhпропущено... для простоты я захостил WCF сервис в консольном приложении И все то же самое? да, как описал выше. Внутри метода WCF такое: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. Странностей 2 или 1: то, что не подгружались ассембли из GAC и невозможность открыть коннекцию. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 31.03.2015, 21:19 |  | ||
|  | 

| start [/forum/topic.php?all=1&fid=19&tid=1396891]: | 0ms | 
| get settings: | 10ms | 
| get forum list: | 14ms | 
| check forum access: | 4ms | 
| check topic access: | 4ms | 
| track hit: | 33ms | 
| get topic data: | 12ms | 
| get forum data: | 2ms | 
| get page messages: | 66ms | 
| get tp. blocked users: | 2ms | 
| others: | 13ms | 
| total: | 160ms | 

| 0 / 0 | 
