2011-07-20 3 views
0

Почти весь день сегодня я пытаюсь исследовать WCF, и одной из моих целей было создать службу WCF вручную (или почти так).WCF из библиотеки классов - хостинг в генерации IIS и wsdl

Основываясь на нескольких статьях в Интернете по адресу how to structure WCF application Я создал проект контрактов, который содержит интерфейсы обслуживания и проект реализации. Оба имеют Runtime.Serialization

Я создал app.config

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.serviceModel> 
     <behaviors> 
      <serviceBehaviors> 
       <behavior name="FulFillmentServiceBehaviour"> 
        <serviceMetadata httpGetEnabled="true" /> 
       </behavior> 
      </serviceBehaviors> 
     </behaviors> 
     <services> 
      <service behaviorConfiguration="FulFillmentServiceBehaviour" 
       name="Project.Services.Fulfillment"> 
       <endpoint address="http://localhost:8080/Services" binding="basicHttpBinding" 
        bindingConfiguration="" contract="P.Infrastructure.Services.IFulfillment" /> 
       <endpoint binding="mexHttpBinding" bindingConfiguration="" /> 
      </service> 
     </services> 
    </system.serviceModel> 
</configuration> 

1) Как я могу разместить эту услугу в IIS я уже созданный виртуальный каталог, указывающий на папку, содержащую проект службы (URL http://localhost:8080/Services)

2) Как создать файл WSDL, так что я могу использовать SoapUI, чтобы проверить его


Я пытался добавить автофокус Иле «fulfillment.svc» с разметкой

<%@ ServiceHost Language="C#" Debug="true" Service="Project.Services.Fulfillment" CodeBehind="Fulfillment.cs" %> 

для целей тестирования, но это дало ошибку

Тип Project.Services.Fulfillment», если в качестве службы значение атрибута в директиве ServiceHost не может быть найденным.

Update 1 * * ****

только что нашел это на сети - может быть, это поможет. один имп ино является то, что я буду нуждаться в Web.config

http://wncadmb026d.na-idm.na-gad.nec.com/Services/Fulfillment.svc?wsdl

Update 2: * ** * *

SOAP UI способен генерировать запрос SOAP, но юрт HTTP 404 в ответ ...

http://www.aspfree.com/c/a/ASP.NET/Developing-a-WCF-Service-Library-and-Hosting-it-as-WCF-Web-Service-Using-VS2K8/

ответ

0

Для WSDL страницы у НУ есть правильный атрибут?:

<serviceMetadata httpGetEnabled="true" /> 

И вы можете получить доступ к нему путем добавления WSDL к URL, то есть http://localhost:8080/Service.svc?wsdl

Что касается ошибок, я думаю, что проблема в том, что вы не используете .svc номер:

<%@ ServiceHost Language="C#" Debug="true" 
    Service="Project.Services.Fulfillment" CodeBehind="Fulfillment.svc.cs" %> 

Вы используете .svc-файл, верно?

Если вы не используете.SVC файл один, что нужно сделать, это использовать маршрутизацию, смотрите по этой ссылке для примера: http://geekswithblogs.net/michelotti/archive/2010/08/21/restful-wcf-services-with-no-svc-file-and-no-config.aspx

+0

будет автоматически обслуживать service.svc для вызова службы (у Idont есть файл, называемый service.svc). Я попытался использовать созданный вручную файл executement.svc, как указано в моем вопросе, но мой код за мной добавил как «Fulfillment.cs», а не CodeBehind = «Fulfillment.svc.cs». Я обновлю вас в ближайшее время из дома, если мне удастся получить доступ к http: // localhost: 8080/Service.svc? Wsdl – TheMar

+0

Нет, это не сработало. – TheMar

+0

@ TheMar Как вы создали службу WCF? Вы перешли в Файл -> Новый проект и используете шаблон службы WCF, или просто пытаетесь создать службу из голого файла .cs? Чтобы получить файл .svc, вы должны использовать шаблоны, которые часто предоставляются в Visual Studio. –

0

Я был в состоянии получить услугу с помощью от http://www.aspfree.com/c/a/ASP.NET/Developing-a-WCF-Service-Library-and-Hosting-it-as-WCF-Web-Service-Using-VS2K8/

и

http://msdn.microsoft.com/en-us/library/ms733766(v=VS.90).aspx

Я скопировал раздел сервисной модели с app.congig на web.config

Я также должен был открыть папку BUILD FOLDER TO/BIN Вместо/bin/debug/

добавит больше кода завтра утром

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