2014-02-04 6 views
0

У меня есть служба WCF, размещенная в среде Azure. Я пытаюсь добавить поддержку пакетного запроса в нем. Теперь я получаю набор запросов GET, собранных как одиночные запросы POST. При получении пакетного запроса я должен запускать отдельные запросы GET, получать ответ, включая заголовки, и возвращать комбинированный ответ.Доступ к размещенной службе из этой службы

В настоящее время, получая пакетный запрос, я извлекаю индивидуальные запросы GET и запускаю их индивидуально, используя HttpClient с хостом в качестве общего имени хоста службы. Теперь я думаю, что, поскольку мой контроль уже находится внутри службы, к которой я хочу получить доступ, тогда зачем проходить через всю систему DNS. Whyn't просто позвоните в службу, используя localhost. Но я не понимаю, какой порт следует использовать для доступа к моему сервису.

Кроме того, есть ли какой-либо стандартный способ сделать это в службе WCF и Azure?

PS: Я новичок во всем мире Azure/IIS/Web Service.

+0

возможно дубликат [Идентификация порта, на котором serice ручается изнутри самой службы] (http://stackoverflow.com/questions/21545919/identifying-port-on-which-a-serice-is-ruuning-from-within-that-service-self) –

ответ

0

Если у вас есть пакетные данные в службе, то просто вызовите один метод (не через HTTP), как обычный вызов метода в стороне вашей службы:

public void SomeBatchRequest(List<Somedata> data) { 
    foreach (var d in data) { 
     ProcessSingle(d); 
    } 
} 

public void ProcessSingle(Somedata d) { 
    // do something with d 
    .... 
} 
Смежные вопросы