SharePoint 2007热身脚本(Http请求的替代方案)

时间:2012-06-18 13:12:53

标签: c# http sharepoint authentication xmlhttprequest

目前我在我的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

欢呼声

2 个答案:

答案 0 :(得分:2)

您可以使用Powershell作为预热脚本。一旦进行了适当的导入,就可以调用stsadm命令,发出HTTP请求甚至使用服务器对象模型。

This post使用powershell使用stsadm检索可用站点。一旦脚本检索到该列表,它就会实例化WebClient对象并点击每个站点URL。

如果您只想点击列表中的网站,只需使用WebClient对象即可。

答案 1 :(得分:1)

或者,如果您的SSP中有可用的搜索服务,则可以配置计划的爬网。您不仅可以从最新的抓取结果中受益,而且您的网站将在本地进行热身,而无需额外的工作“只是为了预热”。