Создайте VirtualPath в IIS для размещения веб-службы в SharePoint
Я пытаюсь разместить пользовательский веб-сервис в SharePoint 2007 (WSS 3.0) и до сих пор следовал приведенным здесь инструкциям, чтобы создать простой веб-сервис "Hello World": Создать веб-сервис WSS
Тем не менее, когда я получаю бит виртуального пути на шаге 4, я с трудом вижу в Visual Studio, как я создаю это, а затем развертываю, чтобы создать виртуальный путь, чтобы сделать мой веб-сервис доступным.
Может ли кто-нибудь помочь мне разобраться в создании виртуального пути для WSS или указать мне руководство другого руководства по созданию и размещению веб-службы в SharePoint?
Заранее спасибо...
2 ответа
Вам необходимо зарегистрировать модуль в файле web.config в файле configuration/system.web/httpModules.
<add name="ArbitraryName" type="Namespace.ClassName, AssemblyName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=XXXXXXXXXXXXXXX" />
Затем вы можете поместить его в любой каталог, который вам нравится. Если вы используете WSS 3.0, проверьте, имеет ли предыдущий поставщик виртуальных путей имя "SPVirtualPathProvider". Если вы используете MOSS 2007, проверьте, имеет ли оно имя "CmsVirtualPathProvider".
Даниэль Ларсон отлично справляется с этой задачей в главе 11 своей книги " Разработка сервис-ориентированных приложений AJAX на платформе Microsoft".
Лучший способ сделать это - это FeatureEventReceiver, использующий класс SPConfigModification. Таким образом, он распространяется на все серверы вашей фермы.
Например, вы можете разместить веб-сервис в папке _layouts. Просто создайте там какую-нибудь папку (например, "MyService"), поместите ваш.asmx, затем поместите.dll вашего веб-сервиса в GAC (не используйте код позади). Перезапустите IIS, и ваша служба будет доступна по адресу http:///_layouts/MyService/.asmx.