Monday, February 25, 2008

configuration数据库的信息

今天一个同事问我怎么得到一个farm的configuration数据库的信息,我搜索了一下,发现:

using Microsoft.SharePoint;

using Microsoft.SharePoint.Administration;

using (SPSite site = new SPSite("http://basesmcdev/tester1"))
{

SPProcessIdentity pi = site.WebApplication.Farm.TimerService.ProcessIdentity;
string userName = pi.Username;
object configDB = pi.GetType().GetProperty("ConfigurationDatabase", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(pi, null);
SPServer server = (SPServer)configDB.GetType().GetProperty("Server").GetValue(configDB, null);
string serverName = server.Name;

}


但是我没有测试过。很诡异的办法。

No comments: