2009-09-15 2 views
0

Позвольте мне предварить это (Потому что я знаю, что я получу это в конечном счете, в ответах)Развертывание .NET Web Servics

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

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

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

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

+0

Я думаю, что вам нужно переписать в меньших частях, что именно вопрос, это очень запутанно. –

+0

Что сказал Акаш. – jro

+0

ОК, я думал, это было довольно ясно. У меня есть 3 вопроса ... все извините. – PositiveGuy

ответ

1

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

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

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

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

3

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

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

Проект веба-сервис использует следующие библиотеки DLL:

  • System.EnterpriseServices
  • system.web
  • System.Web.Extensions
  • System.Web.Mobile
  • System.Web . Услуги

И следующий web.config referenc e:

<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> 
+0

поэтому, если я создаю библиотеку классов, вы говорите о просто добавлении ссылок на другие проекты, на которые опирается ваш тред или ....какие ссылки на то, что именно? – PositiveGuy

+0

Я говорю о физическом перемещении файлов .asmx в отдельный проект. – PositiveGuy

Смежные вопросы