2015-10-12 5 views
2

Я в ходе переписывания код для работы с ASP 5.Asp 5 ServerVariables

старый код выполняет следующие действия:

string Local_IP=Request.ServerVariables["LOCAL_ADDR"]; 
string HTTP_reverse_VIA = Request.ServerVariables["HTTP_REVERSE_VIA"]; 

Как получить соответствующую информацию из ASP 5?

+0

Вы получили окончательное решение для *** ASP.NET 5 ***? _Request.ServerVariables_ устарел? – Kiquenet

ответ

-1

HttpContext имеет метод GetFeature, используя этот метод, мы можем получить информацию об объекте.

Здесь мы хотим получить серверные переменные IIS; check project.json «Microsoft.AspNet.Server.IIS» используется для запуска ASP.NET 5.

Мы должны использовать GetFeature из «Microsoft.AspNet.Server.IIS», который содержит функцию переменных сервера. используйте код ниже

var varibleFeature = Context.GetFeature<Microsoft.AspNet.Server.IIS.Features.IServerVariablesFeature>(); 

      if (varibleFeature != null) 
      { 
       var valuesList = varibleFeature.ServerVariables; 

       //read through valuesList dictionary for Server Variables 
      } 

Так как я был запущен на IIS Express, он дал несколько переменных, но не один упомянутый в вашем вопросе.

Пожалуйста, разверните его на IIS и исследуйте больше.

+0

Спасибо за ответ. я сейчас попытался развернуть код на нашем тестовом сервере, но только ServerVariable доступна «IIS_UrlRewriteModule» :-( Любая идея, почему нет никаких других ServerVariable доступны? Является ли это проблема с интеграцией asp5 IIS или мы чего-то упускаем? –

+0

О, отлично, у меня тоже есть ServerVariable. Я не уверен в остальных переменных, возможно, они еще не реализованы, поскольку все в бета-версии как ASP.NET 5, так и IIS. –

+0

@ RenéMadsen - Пожалуйста, перейдите по этой ссылке, это может дать некоторые указания. Сообщите, найду ли я ее http://www.iis.net/learn/extensions/url-rewrite-module/setting-http-request-headers-and-iis -server-variables –