目前我在我的Sharepoint WarmUp脚本中尝试HTTP响应请求,但是为此,我将不得不使用此代码
using (System.IO.StreamReader file = new System.IO.StreamReader(filePath))
while ((line = file.ReadLine()) != null)
{
try
{
WebRequest request = WebRequest.Create(line);
request.Proxy = null;
if ((userName == null) || (userName == ""))
{
request.Credentials = CredentialCache.DefaultCredentials;
}
else
{
CredentialCache myCache = new CredentialCache();
myCache.Add(new Uri(line), "NTLM", new NetworkCredential(userName, password, DomainName));
request.Credentials = myCache;
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (Stream dataStream = response.GetResponseStream())
using (StreamReader reader = new StreamReader(dataStream))
{
string responseFromServer = reader.ReadToEnd();
reader.Close();
dataStream.Close();
response.Close();
}
Thread.Sleep(2000);
}
我不想使用任何用户帐户来获取响应,但是我可以使用仅在登录服务器时起作用的默认凭据,否则它们将无法正常工作。
还有其他方法吗,不能使用PowerShell作为其MOSS而不是sharepoint 2010
欢呼声
答案 0 :(得分:2)
您可以使用Powershell作为预热脚本。一旦进行了适当的导入,就可以调用stsadm命令,发出HTTP请求甚至使用服务器对象模型。
This post使用powershell使用stsadm检索可用站点。一旦脚本检索到该列表,它就会实例化WebClient对象并点击每个站点URL。
如果您只想点击列表中的网站,只需使用WebClient对象即可。
答案 1 :(得分:1)
或者,如果您的SSP中有可用的搜索服务,则可以配置计划的爬网。您不仅可以从最新的抓取结果中受益,而且您的网站将在本地进行热身,而无需额外的工作“只是为了预热”。