Развертывание .NET Web Servics - PullRequest
       12

Развертывание .NET Web Servics

0 голосов
/ 15 сентября 2009

Позвольте мне предвосхитить это (потому что я знаю, что в конце концов получу это в ответах)

  • Да, я знаю о WCF, но мы не используем это или планируем прямо сейчас (босс не сдвинется с места)

Хорошо, мои вопросы следующие. Сначала я хочу переместить некоторые из наших .asmx в отдельный проект. Прямо сейчас он находится в нескольких отдельных папках в нашем проекте WAP. Хорошо, если я создам новый проект:

1) Какой это должен быть тип? 2) С какими проблемами развертывания я должен столкнуться сейчас? Кто-то сказал мне, что если мы переместим его в отдельный проект, мы должны развернуть его отдельно, я предполагаю, что это означает IIS, и да, копирование этого проекта в другое место на сервере 3) Мне сказали, что если мы переместим его из проекта WAP, мы больше не сможем запустить эту службу в нашем домене (some.com). Но потом кто-то сказал мне, что вы можете настроить один веб-сервис как «сквозной» и иметь фактические файлы .asmx, где хотите? Я не понимаю этого.

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

Ответы [ 2 ]

3 голосов
/ 15 сентября 2009

Файл asmx - это просто указатель на файл кода C #. Вы можете включать файлы asmx в любом месте вашего веб-проекта.

Вы можете создать проект веб-службы в Visual Studio IDE или просто создать библиотеку классов и добавить необходимые ссылки.

В проекте веб-службы используются следующие библиотеки DLL:

  • System.EnterpriseServices
  • System.Web
  • System.Web.Extensions
  • System.Web.Mobile
  • System.Web.Services

И следующая ссылка на web.config:

<configSections>
  <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
    <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
      <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
        <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere" />
        <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
        <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
        <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
      </sectionGroup>
    </sectionGroup>
  </sectionGroup>
</configSections>  


<httpHandlers>
        <remove verb="*" path="*.asmx"/>
        <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</httpHandlers>
1 голос
/ 15 сентября 2009

Согласовано, создайте новый проект веб-сервиса.

Нет проблем с развертыванием веб-службы рядом с существующим сайтом в IIS.

Создайте существующий URL-адрес сайта www.something.com, затем в IIS добавьте виртуальный каталог или приложение в myservice, чтобы получить www.something.com/myservice/awesome.asmx.

.

Вы также можете создать альтернативный заголовок хоста, который будет направлять webservices.something.com на ваши веб-сервисы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...