использование p4.net в веб-сервисах - PullRequest
2 голосов
/ 17 марта 2011

Я использую p4.net (исполняемый API для .net) для подключения к нашему серверу Perforce и запускаю некоторые команды.

Я создал веб-сервис и создал тестовый вызов (ConnectToServer), когда япротестируйте этот веб-сервис на локальном сервере (localhost: xxxx / project / test.asmx), он работает отлично, однако, когда я развертываю свой веб-сервис на сервере и вызываю мой веб-метод connect, появляется сообщение «Невозможно подключиться».Сервер Perforce.

В чем разница между локальным сервером и сервером, они оба используют одинаковые библиотеки DLL для подключения к серверу Perforce, и оба они являются веб-службой. Как вы думаете, почему это приводит к ошибке на сервере?это проблема конфигурации?

Ответы [ 3 ]

1 голос
/ 21 марта 2011

Я бы посмотрел глубже, как и где вы на самом деле устанавливаете параметры соединения Perforce. Поскольку вы говорите, что свойство username возвращает NETWORK_SERVICE, это указывает на то, что пользователь Perforce не установлен явно и отступает при попытке использовать текущего пользователя ОС.

Просто чтобы убедиться в этом: Попробуйте установить соответствующие свойства P4Connection, такие как Пользователь, Пароль и Порт, в явном виде в коде немедленно перед подключением к серверу Perforce. Это должно работать, если у вас нет проблем с подключением и / или защитой между веб-сервером и сервером Perforce (что, похоже, не так).

Если вышеприведенное работает, и вы считаете, что уже делали это - есть ли вероятность, что вы устанавливаете свойства для одного экземпляра P4Connection и используете другой для фактической попытки подключения?

Вы также не говорите, как пытаетесь установить учетные данные; Вы пытаетесь использовать, например, p4 set (который не будет работать в этом случае) или переменные окружения (которые затем нужно будет установить для правильного пользователя ОС или глобально), или вы в настоящее время явно устанавливаете свойства P4Connection, или что?

Обновление: Постер пытался использовать P4HOST (или эквивалент) вместо P4PORT, см. Комментарии ниже. В различных тестах, выполненных в результате других ответов, все еще есть некоторые неожиданные результаты, но, вероятно, все они связаны с корневой проблемой.

1 голос
/ 17 марта 2011

Какой тип аутентификации / олицетворения вы используете в своем веб-сервисе web.config?

Под каким пользователем работает служба на удаленном сервере?

Имеет ли этот пользователь достаточные права доступа для Perforce?

Это были бы мои первые вопросы.

0 голосов
/ 17 марта 2011

Можете ли вы проверить, нет ли проблем с брандмауэром на сервере?Что такое точное сообщение об ошибке от p4.net?

...