Веб-сервис .net 2.0, развертывание и использование - PullRequest
1 голос
/ 14 января 2010

Я создал отдельный проект веб-службы, используя VS 2005.

  1. Мой первый вопрос: могу ли я добавить более 1 файла службы (asmx) и использовать их в одном проекте веб-сервиса?
  2. Как я могу опубликовать их и использовать / звонить / потреблять их с разных сайтов? (Я знаю, как их использовать, когда они находятся в одном проекте, но разные проект немного запутанный)
  3. Как их защитить, чтобы они были доступны для аутентифицированных пользователей / приложений?

Использование VS 2005, .net 2.0, VB.NET (и я не могу использовать WCF)

Ответы [ 2 ]

3 голосов
/ 14 января 2010
  1. Да, это вполне возможно. Если для них логично иметь смысл использовать один и тот же проект веб-службы, это будет хорошо.
  2. Просто опубликуйте их, как обычный сайт. Развертывание XCOPY или публикация из VS.NET. Вы создаете клиентские прокси-серверы, добавляя в свой проект веб-ссылку, которую хотите использовать, и затем выбираете локальную конечную точку .asmx через HTTP. В результате он сгенерирует для вас прокси-класс клиента SOAP с соответствующими типами данных (путем вызова wsdl.exe).
  3. Чтобы их защитить, ознакомьтесь с документами MSDN здесь .
0 голосов
/ 14 января 2010

Мой первый вопрос: могу ли я добавить более 1 файла службы (asmx) и использовать их в одном проекте веб-сервиса?

Вы можете добавить несколько точек входа в свой веб-сервис, чтобы при вызове разных URL-адресов вызывалось различное поведение. Вы можете сделать это, добавив

[WebMethod]

Перед открытыми методами внутри вашего файла Service.cs.

Как я могу опубликовать их и использовать / звонить / потреблять их с разных сайтов? (Я знаю, как использовать их, когда они находятся в одном проекте, но другой проект немного сбивает с толку)

Вы можете сгенерировать код для взаимодействия с веб-сервисом на основе файла WSDL. Я не уверен, как вы делаете это в .NET, но в Java есть инструмент командной строки для генерации класса для взаимодействия со службой SOAP из других приложений. Это ведь весь смысл веб-сервисов.

Как их защитить, чтобы они были доступны для аутентифицированных пользователей / приложений?

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

Вы также можете настроить базовую аутентификацию, используя атрибут аутентификации файла Web.config.

...