2015-03-03 1 views
0

Итак, у меня есть крошечное приложение asp.net, содержащее единственную страницу.
Это код из метода Page_Load (это только код в код-за):разница между стартовой площадкой от iis и iis express

string url = "https://api.vkontakte.ru/oauth/access_token?client_id=123&client_secret=123&code=123&redirect_uri=mysite.com"; 
var webRequest = (HttpWebRequest)WebRequest.Create(url); 
/* 
if i comment this line 
i get exception an exception with following message 
The remote server returned an error: (407) Proxy Authentication Required 
*/ 
webRequest.Proxy = null; 
using (var response = (HttpWebResponse)webRequest.GetResponse()) // 
{ 
    using (var reader = new StreamReader(response.GetResponseStream())) 
    { 
     string str = reader.ReadToEnd(); 
     TokenBox.Text = str; 
    } 
} 

Так что моя проблема? Это приложение развертывается в iis 7.5. Когда я рассматриваю это как iis-сайт, я получаю исключение WebException с сообщением «Не удается подключиться к удаленному серверу». Но если я нажму кнопку F5 в Visual Studio и отлажу свое веб-приложение с помощью IIS Express, этот код будет работать нормально. В чем причина этого странного поведения? Как я могу исправить это и заставить приложение нормально работать с сайта IIS?

+0

Используете ли вы тот же браузер для тестирования веб-сайта IIS и отладки? – SmartDev

+0

Проверьте этот URL-адрес: http://stackoverflow.com/questions/6221351/what-is-overriding-windows-proxy-settings-inserting-vsts-proxy-installed-indic – SmartDev

+0

Я пробовал оба способа, и результат был тем же – JuniorThree

ответ

0

https://blog.lextudio.com/2015/04/web-application-differences-in-visual-studio-and-iis/

Чтобы сделать запрос из, .NET/Windows требует правильные настройки сети (например, прокси, аутентификация и т.д.), что может быть хорошо для вашей учетной записи для запуска кода в VS. Однако IIS, очевидно, не гарантирует, что код будет работать, потому что вы еще не установили идентификатор пула приложений с теми же настройками сети.