SDK வழியாக விருப்ப பட்டியலை மேம்படுத்தும் பல நல்ல உதாரணங்கள் உள்ளன. இங்கே இன்னொரு உள்ளது.
வணிக சிக்கல்: InfoPath வடிவம் பயனர் ஆன்லைன் கொள்முதல் விவரங்கள் நுழைய உதவும் வடிவமைக்கப்பட்டுள்ளது. அஞ்சல் கோரிக்கை எண்கள் பாரம்பரிய வரிசை அடிப்படையிலான முழு எண் மதிப்புகள் இருக்க தானாக கணக்கிடப்படுகிறது வேண்டும்.
வணிக தீர்வு: இரண்டு பத்திகள் கொண்ட விருப்ப பாசி பட்டியல் உருவாக்க: "ControlField" and "ControlValue". மதிப்பு நிரலை அடுத்த கொள்முதல் கோரிக்கை எண் உள்ளது. Note that the generic "control" மாநாட்டு பெயரிடும் தேவை பயன்படுத்தப்படலாம் என்று எதிர்காலத்தில் கட்டுப்பாட்டு துறைகள் வழங்குகிறது.
தொழில்நுட்ப தீர்வு: InfoPath வாடிக்கையாளர் மூலம் இணைய சேவையை உருவாக்க. வலை சேவையை மீண்டும் அடுத்த கொள்முதல் கோரிக்கை எண் மற்றும் மேம்படுத்தல்கள் பட்டியல் மதிப்பு கொடுக்கிறது.
கற்றுகொண்ட பாடங்கள்:
- InfoPath வடிவத்தில் ஒரு தரவு ஆதாரமாக இந்த வலை சேவையை சேர்த்து போது, நான் அதை தேவையான ஒரு UDC மாற்ற ஒரு தரவு இணைப்பு நூலகம் அதை சேமிக்க கண்டுபிடிக்கப்பட்டது.
- நான் அதை தேவையான மத்திய சேவைகள் நிர்வாகத்தின் வழியாக குறுக்கு டொமைன் ஸ்கிரிப்ட் செயல்படுத்த கண்டுபிடிக்கப்பட்டது // விண்ணப்ப மேலாண்மை // வடிவம் சர்வர் கட்டமைப்பு.
- முதல் முறையாக வடிவம் வலை சேவையை அணுக முயற்சி, இது ஒரு எடுத்து நேரத்தில், அது கால வேண்டும். நான் முடிதல் அமைப்புகள் விரிவாக்க வடிவம் சர்வர் கட்டமைப்பில் அமைப்புகள் பிடில் மட்டும் வாசிக்கவில்லை என்று உதவ தோன்றியது.
குறியீடு:
பயன்படுத்தி முறை;
பயன்படுத்தி System.Web;
பயன்படுத்தி System.Web.Services;
பயன்படுத்தி System.Web.Services.Protocols;
பயன்படுத்தி Microsoft.SharePoint;
பயன்படுத்தி System.Configuration;
[WebService(Namespace = "http://www.conchango.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
பொது வர்க்கம் PoService : System.Web.Services.WebService
{
பொது PoService () {
//Uncomment the following line if using designed components
//InitializeComponent();
}
/// <சுருக்கம்>
/// Obtain the next PO number from the sharepoint po number control list.
/// Increment the PO number in that list.
/// </சுருக்கம்>
/// <வருமானத்தை></வருமானத்தை>
[WebMethod]
பொது மாலை GetNextPoNumber()
{
மாலை SpPoControlSiteName; // Name of the actual MOSS site that hosts the PO Control list.
மாலை SpPoControlListName; // Name of the actual MOSS list containing the Po control.
SpPoControlSiteName = ConfigurationSettings.AppSettings["PoControlListHostingSite"].ToString();
SpPoControlListName = ConfigurationSettings.AppSettings["PoControlList"].ToString();
மாலை nextPoReqNumber = "xyzzy";
பயன்படுத்தி (SPSite site = புதிய SPSite(SpPoControlSiteName))
{
பயன்படுத்தி (SPWeb web = site.OpenWeb())
{
SPList currentList = web.Lists[SpPoControlListName];
foreach (SPItem controlItem இல் currentList.Items)
{
என்றால், (((மாலை)controlItem["ControlField"]).சமம்("NextPoNumber"))
{
nextPoReqNumber = (மாலை)controlItem["ControlValue"];
எண்ணாக int_nextPoReqNumber;
int_nextPoReqNumber = மாற்று.ToInt32(nextPoReqNumber);
int_nextPoReqNumber ;
controlItem["ControlValue"] = int_nextPoReqNumber;
controlItem.Update();
}
} // Locating, reading and updating the PO number in the list.
} // using spweb web = site.openweb()
} // using spsite site = new spsite("http://localhost/mizuho")
மீண்டும் nextPoReqNumber;
}
}