powered by simpleCommunicator - 2.0.43     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Помогите развернуть WCF-сервис на IIS вручную
8 сообщений из 8, страница 1 из 1
Помогите развернуть WCF-сервис на IIS вручную
    #39633243
AlexV1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Помогите развернуть WCF-сервис, написанный на C#.NET в Visual Studio 2017 на сервере IIS.
Права админские есть. IIS находится на соседнем ПК в моей же квартире.

Хочу научиться копировать файлы WCF сервиса в папку IIS вручную (без функции Publish в Visual Studio), чтобы из браузера можно было запросить WSDL.
Ранее никогда этого не делал, IIS не настраивал.

В Default Web Site нужно создавать подпапку (виртуальный каталог) или рядом с Default Web Site создать свой сайт? Хотя у меня же не сайт, а WCF-сервис.
...
Рейтинг: 0 / 0
Помогите развернуть WCF-сервис на IIS вручную
    #39635187
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Помогите развернуть WCF-сервис на IIS вручную
    #39637706
AlexV1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день,

Пока через Publish в VS 2017 опубликовал в IIS на ПК с именем msi и OS Windows 7
Ссылка поучилась вот такая (через браузер успешно открывается локально с этого же ПК msi)
http://msi/FileTransferService/WcfServiceLibrary1.FileTransferService.svc

Но есть одно НО...

Накидал отдельное Windows Forms App, добавил в него Service Reference и вызвал метод сервиса.
Выдало
Прослушивание на http://msi/FileTransferService/WcfServiceLibrary1.FileTransferService.svc не выполняла ни одна конечная точка, которая могла бы принять сообщение. Среди прочих причин это могло быть вызвано неправильным адресом или действием SOAP.

Но если я ничего не меняю и по F5 запускаю из студии, запущенной с правами администратора, то все OK, вызов метода идет успешно. В вот после переноса в IIS ругается на endpoint

В чем может быть причина?
Может ли WCF-траффик между браузером и IIS локироваться?
А может для IIS нужно еще какую endpoint создать или же поднастроить чего в app.config'е клиента?

Конфиг WcfServiceLibrary1

Код: xml
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.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true"/>
  </appSettings>
  
  <system.web>    
    <compilation debug="true" />    
  </system.web>
  
  <system.serviceModel>
      
    <bindings>
      <basicHttpBinding>

        <binding name="myHttpBinding">
		<security mode="None">
		</security>
	</binding>

        <binding name="httpLargeMessageStream" maxReceivedMessageSize="2147483647" transferMode="Streamed" messageEncoding="Mtom">
             <!--
               <security mode="Transport">
						   <transport clientCredentialType="None" proxyCredentialType="None" />
					   </security>
             -->
        </binding>
          
      </basicHttpBinding>
    </bindings>

    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" >

       <baseAddressPrefixFilters>
          <add prefix="http://msi"/>          
       </baseAddressPrefixFilters>
      
    </serviceHostingEnvironment>
      
    <services>
      <service behaviorConfiguration="serviceBehavior" name="WcfServiceLibrary1.FileTransferService">

        <endpoint address="" name="basicHttpStream" binding="basicHttpBinding" bindingConfiguration="httpLargeMessageStream" contract="WcfServiceLibrary1.IFileTransferService"/>        
       
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>

         <host>
           <baseAddresses>
              <add baseAddress="http://msi/FileTransferService/"/>
           </baseAddresses>
         </host>
    
      </service>
    </services>
    
    <behaviors>
      <serviceBehaviors>

        <behavior name="serviceBehavior">          
            <serviceMetadata httpGetEnabled="true" httpsGetEnabled="True"/>
            <serviceDebug includeExceptionDetailInFaults="true" httpHelpPageEnabled="true"/>
            <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
        </behavior>
        
      </serviceBehaviors>
    </behaviors>

  </system.serviceModel>

<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/></startup></configuration>
...
Рейтинг: 0 / 0
Помогите развернуть WCF-сервис на IIS вручную
    #39637790
AlexV1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В InnerException.Message при этом на клиента приходит
Удаленный сервер возвратил ошибку: (404) Не найден.
...
Рейтинг: 0 / 0
Помогите развернуть WCF-сервис на IIS вручную
    #39637793
AlexV1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то мне подсказывает, что я напутал с
Код: xml
1.
baseAddresses

, но не пойму что
...
Рейтинг: 0 / 0
Помогите развернуть WCF-сервис на IIS вручную
    #39637802
AlexV1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Важная деталь, которую сегодня обнаружил.

Метод string GetData , сгенерированный студией, после публикации WCF в IIS работает на ура!
А вот мой метод UploadFile, который направляет потоковые данные (Stream) на сервер отваливается с ошибкой
Прослушивание на http://msi/FileTransferService/WcfServiceLibrary1.FileTransferService.svc не выполняла ни одна конечная точка, которая могла бы принять сообщение. Среди прочих причин это могло быть вызвано неправильным адресом или действием SOAP.
В InnerException.Message при этом на клиента приходит
Удаленный сервер возвратил ошибку: (404) Не найден.

Подозреваю, что метод string GetData(int) и метод FileUploadReturnMessage UploadFile(FileUploadMessage request) или обрабатываются в IIS разными точками и проблема в точке обработки потоковых данных или в IIS где то нужно разрешить Stream данные.

Есть идеи?
...
Рейтинг: 0 / 0
Помогите развернуть WCF-сервис на IIS вручную
    #39638269
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexV1Важная деталь, которую сегодня обнаружил.

Метод string GetData , сгенерированный студией, после публикации WCF в IIS работает на ура!
А вот мой метод UploadFile, который направляет потоковые данные (Stream) на сервер отваливается с ошибкой
Прослушивание на http://msi/FileTransferService/WcfServiceLibrary1.FileTransferService.svc не выполняла ни одна конечная точка, которая могла бы принять сообщение. Среди прочих причин это могло быть вызвано неправильным адресом или действием SOAP.
В InnerException.Message при этом на клиента приходит
Удаленный сервер возвратил ошибку: (404) Не найден.

Подозреваю, что метод string GetData(int) и метод FileUploadReturnMessage UploadFile(FileUploadMessage request) или обрабатываются в IIS разными точками и проблема в точке обработки потоковых данных или в IIS где то нужно разрешить Stream данные.

Есть идеи?

Для начала решите эту фигню
Удаленный сервер возвратил ошибку: (404) Не найден.

а потом уже будете фантазировать далее.
...
Рейтинг: 0 / 0
Помогите развернуть WCF-сервис на IIS вручную
    #39640998
AlexV1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем за помощь.

Одной из проблем было то, что не хватало прав на мою папку в IIS для IIS_IUSERS
Дал права и заработало.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Помогите развернуть WCF-сервис на IIS вручную
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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