Я очень рад сегодня, проект наконец-то появился в сети. Просто проблемы, возникшие перед выходом в интернет, утомляли. . . Но в конце концов проблема была решена. . Позвольте мне рассказать вам о проблеме, надеясь оказать некоторую помощь нуждающимся друзьям ~~
Проект: проект DOTNET, разработка C#, основная функция — доступ к удаленному интерфейсу через компоненты COM.
Операционная среда: Windows 2003 Server + IIS6.0 + .Net 1.1.
Проблема: компоненты и системы COM можно нормально использовать в операционной системе WINDOWS2000, но после перехода на WIN2003 процесс зависает, когда программа вызывает компоненты, и иногда возвращается ошибка, указывающая на то, что сервер столкнулся с непредвиденной ситуацией~
Анализ причин: во-первых, компонент прошел под другими операционными системами, что указывает на то, что с компонентом не должно быть проблем, методы регистрации COM-компонентов и ссылка на проект DOTNET верны, но ошибка возникает на этапе вызова компонента; , а функция COM-компонента — передать IP-адрес и порт. Для доступа к удаленному интерфейсу обратите внимание на работу удаленного сетевого подключения. При поиске подобных проблем в Интернете большинство статей посвящены разрешениям компонентов. Я тоже настроил компоненты по статье, и права доступа пользователей IIS и т.д. выставлены на максимум Разрешения, но результат все равно не работает. . Вот-вот рухнет. .
Решение: После нескольких дней мучений с этой проблемой компания обратилась в службу поддержки клиентов Microsoft, и Microsoft предоставила возможность проверить разрешения безопасности пула приложений в IIS6.0. После проверки в свойствах пула приложений в IIS на вкладке «Идентификация» есть учетная запись безопасности по умолчанию «Сетевая служба», которая является сетевой службой. Сетевая служба — это встроенная учетная запись в Windows Server 2003. Она принадлежит к группе IIS_WPG. Члены IIS_WPG имеют соответствующие разрешения NTFS и необходимые права пользователя. Согласно статье на веб-сайте Microsoft, учетная запись сетевой службы имеет процессы, которые действуют как. Рабочие процессы IIS 6. Достаточные разрешения для идентификации и доступа к сети. Но я не знаю почему, разрешений NetWork Service здесь недостаточно, поэтому компонент не может быть вызван для доступа к удаленному интерфейсу. Решение состоит в том, чтобы настроить учетную запись IIS_WPG для чтения и выполнения, просмотра каталогов папок, чтения, а СЕТЕВАЯ СЛУЖБА требует разрешений на полный доступ. В соответствии с описанным выше методом я назначил NetWork Service группе администраторов ^_||, перезапустил IIS, а затем запустил программу ОК, и компонент вызывался нормально~~
Так что, если кто-то из друзей столкнется с тем, что вызов COM-компонентов невозможен. используется повторно, рассмотрите возможность применения разрешений пула программ~~
См. следующие статьи: http://www.microsoft.com/china/technet/community/columns/insider/iisi1203.mspx