MOSS: Թարմացվում գործարկողի ցուցակը

Կան շատ լավ օրինակներ թարմացնելու հարմարեցված ցուցակների միջոցով SDK. Ահա եւս մեկ.

Բիզնես խնդիրը: InfoPath ձեւը արդեն մշակված է, որ հնարավորություն է տալիս օգտվողներին մուտք գործել առցանց գնումների requisitions. PO պահանջ համարները պետք է լինի ավանդական հաջորդականությունը ի թիվ արժեքները եւ հաշվարկվում է ավտոմատ կերպով.

Բիզնես Solution: Ստեղծել գործարկողի MOSS ցանկը պարունակող երկու սյունակների: "ControlField" and "ControlValue". Արժեքը սյունակը պարունակում է հաջորդ գնման պահանջ համարը. Note that the generic "control" անվանելու Կոնվենցիայի հետագա կառավարման ոլորտներում, որը կարող է օգտագործվել որպես անհրաժեշտ.

Տեխնիկական Solution: Ստեղծել վեբ ծառայություն մուտք գործել կողմից InfoPath հաճախորդի. Վեբ ծառայությունը վերադարձնում հետ հերթական գնման պահանջ համարը եւ թարմացումներ արժեքը ցուցակի.

Քաղված դասերը:

  • Երբ որ այս վեբ ծառայություն, որպես տվյալների աղբյուր է InfoPath ձեւով, Ես գտա, որ անհրաժեշտ է փոխարկել այն UDC եւ պահպանել այն տվյալների կապի գրադարան.
  • Ես էլ գտա, որ անհրաժեշտ է հնարավորություն տալ խաչ դոմենի Scripting միջոցով կենտրոնական ծառայությունների կառավարման // դիմումը կառավարում // Ձեւ սերվերի կոնֆիգուրացիայի.
  • Առաջին անգամ ձեւը փորձեց օգտվել ինտերնետային ծառայություններից, Այն տեւում է մի քիչ, իսկ կապակցությամբ, դա Ժամանակը ավարտվեց. Ես fiddled պարամետրերով ձեւի սերվերի կոնֆիգուրացիայի ընդլայնել timeout պարամետրերը, եւ որ կարծես օգնել.

Կոդը:

օգտագործելով Համակարգ;
օգտագործելով 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];

ԲՀԿ (Թքել controlItem մեջ currentList.Items)
{

եթե (((լարային)controlItem["ControlField"]).Հավասար("NextPoNumber"))
{
nextPoReqNumber = (լարային)controlItem["ControlValue"];

int 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;

}
}

One thought on "MOSS: Թարմացվում գործարկողի ցուցակը

  1. KSP գրել:
    Hi Paul,
    Մենք ունենք նման իրավիճակ, թե ինչ եք նշել, սակայն խնդիրն այն է, ուզում եմ օգտվել այս վեբ servie է բեռի հաշվեկշռի server.Hence,ինչպես կարգավորել concurrency հարցումները: Այս դեպքում կամ ինչպես նոր request սպասել եւ միայն մեկ հարցում պետք է թարմացնել ցուցակ համարը մինչեւ այդ մյուս բոլոր հարցումները պետք է que.Please ինձ գիտեն, թե ինչպես հասնել այդ.
    Thanks in Advance.

Ավելացնել կարծիք

Ձեր էլ. Փոստի հասցեն չի հրապարակվելու. Պահանջվող դաշտերը նշված են աստղանիշով *