Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Не могу опубликовать WCF службу на IIS 7.0 / 5 сообщений из 5, страница 1 из 1
05.07.2010, 11:45
    #36722942
user7320
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу опубликовать WCF службу на IIS 7.0
Создаю дефолтное приложение WCFServiceLibrary1, в котором в App.config только меняю байндинг с ws на basic. Затем делаю всё по ролику по этой ссылке (в первом сообщении) http://www.sql.ru/forum/actualthread.aspx?tid=660178 , а именно:

структура моего проекта:

1) добавляю к этому решению веб-сайт по шаблону WCF Service;
2) из папки App_Code в этом веб-сайте удаляю дефолтные файлы с логикой, т. к. у меня будет выполнятся логика сервиса;
3) для этого добавляю к этому веб-сайту ссылку на проект WCF сервиса;
4) в файле .svc сервиса прописываю в атрибуте Service адрес сервиса в моём проекте, и удаляю атрибут CodeBehind, т. к. кода в сайте нет, а будет код сервиса:

было:

Код: plaintext
<%@ ServiceHost Language="C#" Debug="true" Service="Service" CodeBehind="~/App_Code/Service.cs" %>

стало:

Код: plaintext
<%@ ServiceHost Language="C#" Debug="true" Service="Service.Service1" %>

5) затем иду в Edit WCF Configuration файла Web.config в проекте веб-сайта и указываю там имя сервиса и контракт конечной точки из папки Bin веб-сайта (там файлики, на которые кликаешь и оттуда вся эта информация берётся), плюс ещё байндинг меняю на basicHttp;
6) в файле Web.config веб-сайта в секции configuration удаляю всё, кроме подсекции system.serviceModel, плюс меняю атрибут contract="IMetadataExchange" на contract="Service.IService1":

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
<configuration>
  <system.serviceModel>
    <services>
      <service behaviorConfiguration="ServiceBehavior" name="Service.Service1">
        <endpoint address="" binding="basicHttpBinding" bindingConfiguration=""
		contract="Service.IService1">
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="Service.IService1" />
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="ServiceBehavior">
          <!-- To avoid disclosing metadata information, set the value below to false and
		  remove the metadata endpoint above before deployment -->
          <serviceMetadata httpGetEnabled="true"/>
          <!-- To receive exception details in faults for debugging purposes, set the value below to true.
		  Set to false before deployment to avoid disclosing exception information -->
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

На данном этапе и сервис и веб-сайт сервиса работают и хостятся на всяких тестовых хостах WCF и ASP.NET - можно нажать F5 в проекте сервиса или Wiev in Browser на файле Service.svc и посмотреть на сайт службы, а также протестировать каким-нибудь WcfTestClient. Тестировал - всё работает.

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

Ладно, жму ОК и далее в ИИСе через просмотр содержимого пытаюсь глянуть в браузере файл Service.svc (всё делаю, как дядя в видеопрезентации), а мне браузер выдают ошибку 404 - не найдена страница. Ладно, согласно предупреждению, сделал общий доступ дефолтному корневому веб-сайту и сайту службы на всякий случай - снова проверка подлинности не идёт и в браузере 404 кажет.


Так в чём же дело? Как захостить эту чёртову службу в этом чёртовом ИИСе?

Качал ИИС с МСДНа и ставил там всё по дефолту (никаких настроек после установки не делал).

ОС: Windows 7 Про.
...
Рейтинг: 0 / 0
05.07.2010, 12:04
    #36723011
user7320
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу опубликовать WCF службу на IIS 7.0
Поправка: в последнем листинге контракт для метаданных не тот, что указан, а IMetadataExchange.
...
Рейтинг: 0 / 0
05.07.2010, 12:05
    #36723016
user7320
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу опубликовать WCF службу на IIS 7.0
Т. е. не

Код: plaintext
<endpoint address="mex" binding="mexHttpBinding" contract="Service.IService1" />

а

Код: plaintext
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
...
Рейтинг: 0 / 0
05.07.2010, 14:42
    #36723475
user7320
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу опубликовать WCF службу на IIS 7.0
user7320Перед тем, как нажать ОК, я жму "Тест настроек" и получаю вот это .
Вот полный текст предупреждения:

авторСервер настроен на проверку подлинности с помощью встроенной учетной записи при доступе по указанному физическому пути. Однако диспетчеру IIS не удается проверить, получила ли доступ встроенная учетная запись. Убедитесь, что у удостоверения пула приложений есть доступ для чтения по данному физическому пути. Если сервер присоединен к домену и удостоверением пула приложений является NetworkService или LocalSystem, проверьте, что <имя_домена>\<имя_компьютера>$ обладает разрешением на доступ для чтения по данному физическому пути. Затем повторите проверку настроек.

Где и как посмотреть, есть ли у пула приложений доступ для чтения по заданному пути? На всякий случай я для папки всего проекта веб-сайта для службы открыл полный доступ для всех - ничего не изменилось - по-прежнему ошибка 404.0.
...
Рейтинг: 0 / 0
05.07.2010, 16:14
    #36723712
user7320
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу опубликовать WCF службу на IIS 7.0
Господи, ну подскажите хоть кто-нибудь, пожалуйста, почему дефолтный сайт, созданный под дефолтный сервис, не хостится на дефолтном IIS?!
...
Рейтинг: 0 / 0
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Не могу опубликовать WCF службу на IIS 7.0 / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]