모스: 사용자 지정 목록 업데이트

SDK 통해 사용자 지정 목록을 업데이 트의 많은 좋은 예입니다.. 여기는 또 다른.

비즈니스 문제: InfoPath 양식을 설계 되었습니다 수 있습니다 사용자가 온라인 입력 요청 구매. 포 징 발 번호 전통적인 순서 이어야 한다 정수 값을 기반으로 하 고 자동으로 계산.

비즈니스 솔루션: 두 개의 열이 포함 된 사용자 정의 이끼 목록 만들기: "ControlField" 그리고 "과". 값 열에 다음 구매 요청 서 번호 포함. Note는 일반 "제어" 필요에 따라 사용할 수 있는 미래의 컨트롤 필드에 대 한 명명 규칙을 제공 합니다..

기술 솔루션: InfoPath 클라이언트에 의해 액세스 하는 웹 서비스 만들기. 웹 서비스 반환 합니다 다시 다음 구매 요청 서 번호 및 목록의 값을 업데이트.

교훈:

  • InfoPath 양식으로이 웹 서비스를 데이터 소스로 추가 하는 경우, 나는 udc를 변환 하 고 데이터 연결 라이브러리에 저장 하는 데 필요한 발견.
  • 나 또한 중앙 서비스 관리를 통해 교차 도메인 스크립팅을 사용 하도록 설정 하는 데 필요한 발견 // 응용 프로그램 관리 // 폼 서버 구성.
  • 처음으로 양식을 웹 서비스에 액세스 하 려, 그것은 걸립니다 그리고 때때로, 그것은 시간을 것입니다.. 시간 제한 설정에 폼 서버 구성에서 설정 fiddled 고 그 도움을 보 였.

코드:

사용 하 여 시스템;
사용 하 여 System.Web;
사용 하 여 System.Web.Services;
사용 하 여 System.Web.Services.Protocols;
사용 하 여 Microsoft.SharePoint;
사용 하 여 System.Configuration;

[웹 서비스(Namespace = "http://www.conchango.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
공용 클래스 PoService : System.Web.Services.웹 서비스
{
공용 PoService () {

//다음 줄 사용 하는 경우 디자인 구성 요소 주석
//InitializeComponent();
}

/// <요약>
/// Sharepoint가 번호 컨트롤 목록에서 다음 사서함 번호를 가져올.
/// 그 목록에서 주문서 번호를 증가.
/// </요약>
/// <반환></반환>
[WebMethod]
공용 문자열 GetNextPoNumber()
{
문자열 SpPoControlSiteName; // 포 제어 목록을 호스팅하는 실제 MOSS 사이트의 이름.
문자열 SpPoControlListName; // 포 컨트롤을 포함 하는 실제 모스 목록 이름.

SpPoControlSiteName = ConfigurationSettings.AppSettings["PoControlListHostingSite"].ToString();
SpPoControlListName = ConfigurationSettings.AppSettings["PoControlList"].ToString();

문자열 nextPoReqNumber = "xyzzy";

사용 하 여 (SPSite 사이트 = 새로운 내용 SPSite(SpPoControlSiteName))
{
사용 하 여 (SPWeb 웹 사이트를 =. OpenWeb())
{

SPList currentList = 웹. 목록[SpPoControlListName];

foreach (SPItem controlItem 에서 currentList.Items)
{

만약 (((문자열)controlItem["ControlField"]).같음("NextPoNumber"))
{
nextPoReqNumber = (문자열)controlItem["과"];

int int_nextPoReqNumber;
int_nextPoReqNumber = 변환.ToInt32(nextPoReqNumber);

int_nextPoReqNumber ;

controlItem["과"] int_nextPoReqNumber =;
controlItem.Update();
}

} // 찾기, 읽기 및 업데이트 목록에서 주문서 번호.


} // spweb 웹을 사용 하 여 site.openweb =()
} // spsite 사이트를 사용 하 여 새로운 spsite =("http://localhost/미즈호 ")

반환 nextPoReqNumber;

}
}

하나는 "에 대한 생각모스: 사용자 지정 목록 업데이트

  1. KSP 쓴:
    안녕 폴,
    우리는 비슷한 상황이 당신이 무엇을 언급 하지만 문제는 부하 균형 서버에이 웹 servie를 사용 하려면.따라서,이 경우 동시성 요청을 처리 하는 방법 또는 얼마나 새로운 요청을 대기 하 고 하나만 요청까지 목록 번호를 업데이트 해야 다음 모든 다른 요청 날개에 있어야이것을 달성 하는 방법 가르쳐 주세요.
    감사 사전에.
    회신

응답을 남기다

귀하의 이메일 주소는 공개되지 않습니다. 필요 입력 사항은 표시되어 있습니다 *