-1

我正在使用 C# .Net 在 Visual Studio 2010 中编写程序。

该程序将访问网站的多个部分(不同的 url),我正在使用HttpWebRequestandNetworkCredential来设置用户名和密码。

现在,每次我发送请求时,我都必须设置凭据。有没有办法在整个过程中只设置一次凭证?

public void setCredential(string url)
{    
    //set username and password    
    //and get response    
}

public void Main()    
{ 
    string[] URLs= { url1, url2, url3 };    
    foreach (string url in URLs)    
    {    
        setCredential(url);    
    }
}

就像我提到的那样,通过这种方式,每次我转到一个新的 url 时,我都必须设置凭证,这有时会变慢。

我试图在 foreach 循环之外设置凭据,但后来我无法获得 url2 和 url3 的响应。

我想知道是否有更好的方法来做到这一点?

-- 上午 10:26 编辑 --

对不起,如果我不清楚。

我的意思是,每次我尝试访问一个 url 时,我都必须将用户名和密码重新发送到服务器。

所以对于示例代码,我必须为 3 个不同的 url 发送 3 次用户名和密码。

我想知道我是否可以只发送一次用户名和密码并访问所有 3 个不同的 url。

附言。所有 3 个 url 都可以使用相同的用户名和密码访问。

4

1 回答 1

1

从 ASP.Net 页面将 NetworkCredential 传递给 C# 中的 HttpWebRequest

此链接显示 NetworkCache,这可能是您的解决方案。

于 2013-06-26T14:37:38.097 回答