2014-10-09 2 views
0

У меня есть два приложения на одном сервере. Первый - простой asp.net, а второй - asp.net web api. Теперь я делаю запрос от простого приложения asp.net к веб-api, и я хочу узнать простую имя хоста приложения asp.net (например, localhost), но HttpContext.Current.Request.UserHostName всегда возвращает UserHostAddress (IP-адрес хоста пользователя) ,Найти имя хоста пользователя для локального запроса между двумя приложениями

Может ли кто-нибудь сказать мне, где я могу найти имя хоста пользователя для этого случая?

Спасибо.

+0

Не обескуражить вас, но я думаю, что было бы лучше сохранить целевое имя хоста в 'appsetting'. В этом случае ваши приложения не привязаны к серверу. – Stefan

+0

На самом деле я хочу связать приложения клиентов с веб-api и отклонить запросы, которые не находятся в белом списке веб-api. –

ответ

0

Попробуйте

Request.Url.DnsSafeHost 

это приведет вас "локальный" или

вы можете добавить ключ в appsetting в WebConfig как ниже

<configuration> 
    <appSettings> 
    <add key="app_name" value="yourApiProjectName" /> 
    </appSettings> 
</configuration> 

и использовать

System.Configuration.ConfigurationManager.AppSettings["app_name"] 

, чтобы получить ap p имя.

надеюсь, что это помогает ..

+0

Да, но это localhost с URL-адресом запроса. И мне нужен smth, как localhost: 11111 вызывает localhost: 22222, а второй говорит мне, что запрос поступает из localhost: 11111. Конечно, в производстве у меня будут настоящие доменные имена вместо localhost. –

0

Как я понял, нет простого способа получить хост клиента. Поэтому я решил передать клиентский хост через заголовок запроса - референт.

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