დაამატეთ webreference იმ Lists.asmx in sharepoint საიტი.
http://localhost / _vti_bin / Lists.asmx
(SharePoint ვირტუალური დირექტორია URL / _vti_bin / Lists.asmx
დაწერა შემდეგი მეთოდები თქვენს webservice.
შეტყობინების data.DataTable GetDataTableFromWSS(bool onlySchema)
{
სიმებიანი WssSiteUrl = http://192.168.111.21;
სიმებიანი WssSiteUrl = ConfigurationSettings.AppSettings[“WssSiteUrl”];
WssSite.Lists სიები = new WssSite.Lists();
lists.Url = WssSiteUrl + “_vti_bin / Lists.asmx”;
lists.Credentials = System.Net.CredentialCache.DefaultCredentials;
lists.PreAuthenticate = true;
//თქვენ უნდა გაიაროს სია სახელი აქ
სიმებიანი CommandText = “თანამშრომელთა ინფორმაცია”;
XmlNode = ListCollectionNode lists.GetListCollection();
სია XmlElement = (XmlElement)ListCollectionNode.SelectSingleNode(String.Format(“wss:სია[@ Title = '{0}’]”, CommandText), NameSpaceMgr);
თუ (სია == null)
{
გადაყარეთ ახალი ArgumentException(String.Format(“ჩამონათვალი {0} არ შეიძლება ნაპოვნი საიტი {1}”, CommandText, WssSiteUrl));
}
სიმებიანი TechListName = List.GetAttribute(“სახელი”);
data.DataTable შედეგი = new data.DataTable(“სია”);
XmlNode ListInfoNode = lists.GetList(TechListName);
System.Text.StringBuilder fieldRefs = new System.Text.StringBuilder();
System.Collections.Hashtable DisplayNames = new System.Collections.Hashtable();
foreach (XmlElement სფეროში ListInfoNode.SelectNodes(“wss:სფეროები / wss:საველე”, NameSpaceMgr))
{
თუ (Field.HasChildNodes)
{
foreach (XmlElement სფეროში in Field.SelectNodes(“wss:სფეროები / wss:საველე”, NameSpaceMgr))
{
სიმებიანი FieldName = Fld.GetAttribute(“სახელი”);
სიმებიანი FieldDisplayName = Fld.GetAttribute(“DisplayName”);
თუ (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FieldName + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(საველე));
fieldRefs.AppendFormat(“”, FieldName);
DisplayNames.Add(FieldDisplayName, FieldName);
}
}
სხვა
{
სიმებიანი FieldName = Field.GetAttribute(“სახელი”);
სიმებიანი FieldDisplayName = Field.GetAttribute(“DisplayName”);
თუ (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FieldName + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(საველე));
fieldRefs.AppendFormat(“”, FieldName);
DisplayNames.Add(FieldDisplayName, FieldName);
}
}
თუ (onlySchema) დაბრუნების შედეგი;
XmlElement სფეროებში = ListInfoNode.OwnerDocument.CreateElement(“ViewFields”);
fields.InnerXml = fieldRefs.ToString();
XmlNode ItemsNode = lists.GetListItems(TechListName, “”, ნულოვანი, სფეროები, “1000000”, ნულოვანი);
// საძიებელი სფეროებში ყოველთვის იწყება რიცხვით ID, მაშინ ;# და მაშინ string წარმომადგენლობა.
// ჩვენ ჩვეულებრივ მხოლოდ დაინტერესებული სახელი, ამიტომ ჩვენ ზოლში ID.
System.Text.RegularExpressions.Regex CheckLookup = new System.Text.RegularExpressions.Regex(“^ დ ;#”);
foreach (XmlElement საგანს ItemsNode.SelectNodes(“რს:თარიღი / z:რიგი”, NameSpaceMgr))
{
data.DataRow newRow = result.NewRow();
foreach (data.DataColumn კუთხეში in result.Columns)
{
თუ (Item.HasAttribute(“ows_” + (სიმებიანი)DisplayNames[col.ColumnName]))
{
სიმებიანი Val = Item.GetAttribute(“ows_” + (სიმებიანი)DisplayNames[col.ColumnName]);
თუ (CheckLookup.IsMatch((სიმებიანი)Val))
{
string = valString არჩევანი სიმებიანი;
Val = valString.Substring(valString.IndexOf(“#”) + 1);
}
// მინიჭების string to სფეროში, რომელიც მოითხოვს ციფრები ან
// datetime ღირებულებები მინიშნებით კონვერტირება მათ
newRow[ერთად] = Val;
}
}
result.Rows.Add(newRow);
}
დაბრუნების შედეგი;
}
// შემდეგი ფუნქცია გამოიყენება მისაღებად სახელთა სივრცის
შეტყობინების სტატიკური XmlNamespaceManager _nsmgr;
შეტყობინების სტატიკური XmlNamespaceManager NameSpaceMgr
{
მიღება
{
თუ (_nsmgr == null)
{
_nsmgr = new XmlNamespaceManager(ახალი NameTable());
_nsmgr.AddNamespace(“wss”, “http://schemas.microsoft.com / sharepoint / საპნის /”);
_nsmgr.AddNamespace(“s”, “uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882”);
_nsmgr.AddNamespace(“dt”, “uuid:C2F41010-65B3-11d1-A29F-00AA00C14882”);
_nsmgr.AddNamespace(“რს”, “urn:თემეის სქემები-Microsoft-com:rowset”);
_nsmgr.AddNamespace(“სულ”, “#RowsetSchema”);
}
დაბრუნების _nsmgr;
}
}
შეტყობინების ტიპი TypeFromField(XmlElement სფეროში)
{
გადართოთ (field.GetAttribute(“ტიპი”))
{
შემთხვევაში “DateTime”:
დაბრუნების typeof(DateTime);
შემთხვევაში “რიცხვი”:
დაბრუნების typeof(int);
შემთხვევაში “ხმების”:
დაბრუნების typeof(float);
default:
დაბრუნების typeof(სიმებიანი);
}
}
WssSite ობიექტი ამ კოდი, მე მიღების შეცდომა ამ, “თქვენ დაკარგული გამოყენებით დირექტივა ან ასამბლეის მითითება?” ნებისმიერი იდეა
Hi Bala,
WssSite არის Webreference იმ lists.asmx
Cheers,
Uday
შესანიშნავი. მადლობა Uday. Your post saved me lot of time in my migration project 🙂
თქვენ მივესალმებით Jaya