不幸的是我沒有支持的方式,我知道這可以做到。相關的類是Microsoft.Office.Server.Administration命名空間中的Microsoft.Office.Server DLL中的SharedResourceProvider。它標誌着內部預先使反射:
SharedResourceProvider sharedResourceProvider = ServerContext.GetContext(SPContext.Current.Site).SharedResourceProvider;
string sspName = sharedResourceProvider.Name;
後反思:
ServerContext sc = ServerContext.GetContext(SPContext.Current.Site);
PropertyInfo srpProp = sc.GetType().GetProperty(
"SharedResourceProvider", BindingFlags.NonPublic | BindingFlags.Instance);
object srp = srpProp.GetValue(sc, null);
PropertyInfo srpNameProp = srp.GetType().GetProperty(
"Name", BindingFlags.Public | BindingFlags.Instance);
string sspName = (string)srpNameProp.GetValue(srp, null);
另一種方法是寫在其上不建議配置數據庫的SQL查詢。