Эта проблема заняла у меня и нашего ИТ-отдела в нашей компании много часов, чтобы точно определить.
Проблема появляется только на Windows Server 2008, Windows 7 и Windows 8. На Windows XP или Windows Server 2003 у нас нет проблем.
У нас есть программа, которую мы разработали внутри нашей компании. Программа работает нормально, и проблема не является конкретной для этой программы.
Программа использует localhost для связи с другими программами, запущенными на компьютере, с помощью веб-сервисов. Проблема заключается в том, что эта связь не работает, если программа находится в домашней папке пользователя.
Потратив много часов на выяснение причин этого, мы недавно поняли, что проблема исчезает, если у пользователя есть доступ ко всем родительским папкам в UNC-пути к исполняемому файлу.
Таким образом, если домашний диск смонтирован в H: = \SomeServer \hdrive $ \SomeUser и пользователь не имеет доступа к \SomeServer \hdrive $, тогда наша программа получает ошибки TCP, и веб-службы не работают.
Если пользователь затем получает только разрешение "Содержимое папки списка" на этот путь, то веб-службы работают.
В противном случае программа работает нормально. Мы проверили, что все dll-файлы успешно связаны и никаких других ошибок не происходит.
Похоже, это то, что делает ОС. кто-нибудь знает, почему это произошло?