WCF вне ISS
От: lutikman  
Дата: 26.11.10 08:03
Оценка:
Добрый день.
В 2-х словах дело обстоит так:
Есть Wcf сервис, который работает на адресе http://11.196.5.1/WcfService/WcfService.svc

С внешнего адреса проброшен порт на адрес 11.196.5.1 и порт 80, как результат адрес снаружи http://196.64.255.109:8088/WcfService/WcfService.svc
При запроса с указанного адреса получаем:
Служба создана.

Чтобы протестировать эту службу, необходимо создать клиент и воспользоваться им для вызова службы. Это можно сделать, запустив программу svcutil.exe из командной строки со следующим синтаксисом:

svcutil.exe http://196.64.255.109:8088/WcfService/WcfService.svc?wsdl

Это ведет к созданию файла конфигурации и файла кода, содержащего класс клиента. Добавьте эти два файла в клиентское приложение и используйте сгенерированный класс клиента для вызова службы. Например:

C#
class Test
{
    static void Main()
    {
        WcfServiceClient client = new WcfServiceClient();

        // Используйте переменную "client", чтобы вызвать операции из службы.

        // Всегда закройте клиент.
        client.Close();
    }
}


Как видно в адресе результата указан внешний адрес на который мы ломимся.

В случае, если Wcf расположен вне IIS получается вот что:
Служба создана.

Чтобы протестировать эту службу, необходимо создать клиент и воспользоваться им для вызова службы. Это можно сделать, запустив программу svcutil.exe из командной строки со следующим синтаксисом:

svcutil.exe http://11.196.5.1/WcfService?wsdl

Это ведет к созданию файла конфигурации и файла кода, содержащего класс клиента. Добавьте эти два файла в клиентское приложение и используйте сгенерированный класс клиента для вызова службы. Например:

C#
class Test
{
    static void Main()
    {
        WcfServiceClient client = new WcfServiceClient();

        // Используйте переменную "client", чтобы вызвать операции из службы.

        // Всегда закройте клиент.
        client.Close();
    }
}


В адресе видим внутренний адрес Wcf...
Получается, что Wcf вроде бы как выставили наружу, но ничего не работает...

Кто сталкивался с подобным?
Подскажите что делать, пожалуйста.
Re: WCF вне ISS
От: HowardLovekraft  
Дата: 26.11.10 09:40
Оценка:
Вы создаете service endpoint с указанием конкретного IP-адреса? Зачем?
Re: WCF вне ISS
От: newman.. Украина  
Дата: 26.11.10 09:47
Оценка:
Предлагаю взять и подправить конфиг файлы в серверном и клиенском приложении. Вроде же не сложно?

Вы хостите свой вервис на 80 порту, как я вижу. Не будет ли у вас конфликтов с IIS, который тоже слушает этот порт. Думаю будут. Попробуй-те сменить порт.
Re[2]: WCF вне ISS
От: lutikman  
Дата: 26.11.10 10:48
Оценка:
Здравствуйте, newman.., Вы писали:

N>Предлагаю взять и подправить конфиг файлы в серверном и клиенском приложении. Вроде же не сложно?


N>Вы хостите свой вервис на 80 порту, как я вижу. Не будет ли у вас конфликтов с IIS, который тоже слушает этот порт. Думаю будут. Попробуй-те сменить порт.


Порт менял, не помогло.
Re[2]: WCF вне ISS
От: TK Лес кывт.рф
Дата: 26.11.10 20:32
Оценка:
Здравствуйте, newman.., Вы писали:

N>Предлагаю взять и подправить конфиг файлы в серверном и клиенском приложении. Вроде же не сложно?

N>Вы хостите свой вервис на 80 порту, как я вижу. Не будет ли у вас конфликтов с IIS, который тоже слушает этот порт. Думаю будут. Попробуй-те сменить порт.

Современный IIS напрямую 80-й порт не слушает. Этим занимается http.sys который, умеет делить один порт на несколько приложений. См. System.Net.HttpListener
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.