来自iis和iis express的发布站点之间的区别

时间:2015-03-03 15:37:59

标签: asp.net iis iis-express

所以我有一个包含唯一页面的小asp.net应用程序 它是来自Page_Load方法的代码(它只是代码隐藏中的代码):

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,其中包含消息"无法连接到远程服务器"。但是,如果我在Visual Studio中按F5按钮并使用IIS Express调试我的Web应用程序,则此代码可以正常工作。 这种奇怪的行为是什么原因造成的?我如何修复它,让我的应用程序从IIS站点正常工作?

1 个答案:

答案 0 :(得分:0)

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

要发出请求,.NET / Windows需要正确的网络设置(例如代理,身份验证等),这可能会使您的帐户在VS中运行代码。但是,IIS显然不能保证代码能够正常工作,因为您尚未使用相同的网络设置设置应用程序池标识。