2012-01-13 5 views
0

친구, 웹 메서드에서 오류 메시지 또는 다른 메시지를 표시하는 데 도움이 필요합니다. 반환 값이 "0"이거나 반환 문자열 변수의 길이가 "0"이지만 결과가없는 경우 일부 함수를 작성하여 메시지를 표시하려고했습니다. 이 문제에 대한 해결책을 줄 수 있습니까? 예, 물론입니다. 여기 내 코드는 다음과 같습니다. -webmethod에서 메시지를 표시하는 방법은 무엇입니까?

[WebMethod] 
public string[] GetCompletionCompany(string prefixText, int count) 
{ 
    if (count == 0) 
    { 
     count = 10; 
    } 

    if (prefixText != "") 
    { 
     strSQLQuery = "SELECT ID," + 
        "  stallno," + 
        "  company " + 
        "FROM IESS2012_IND_PartDetails " + 
        "WHERE company LIKE '%" + prefixText + "%' " + 
        "ORDER BY company"; 
    } 
    DataTable dt = objDBHelper.gReturnDataSet(System.Data.CommandType.Text, strSQLQuery).Tables[0]; 
    List<string> items = new List<string>(count); 

    for (int i = 0; i < dt.Rows.Count; i++) 
    { 
     string strName = dt.Rows[i][2].ToString(); 
     items.Add(strName); 
    } 

    if (items.ToArray().Length == 0) 
    { 
     ShowMessage(); 
     return items.ToArray(); 
    } 
    else 
    { 
     return items.ToArray(); 
    } 

} 

    private void ShowMessage() 
{ 

    string msg= gUserMessage.NoRecords; 
    return msg; 
} 

기록이 없다는 메시지를 어떻게 표시합니까?

+0

우리가 볼 수 당신은 당신이 시도하는 것을 무엇? –

답변

3

클라이언트 측에서 오류 메시지를 표시하려면 적절한 예외를 throw하면됩니다. SOAP이이를 캡슐화하고 예외 메시지가 포함 된 클라이언트 측에서 SOAP 오류가 발생합니다.

if (items.ToArray().Length == 0) 
{ 
    throw new NoRecordsException("Your Message..."); 
} 

및 클라이언트 측

가 (당신이 너무 C#을 사용하는 가정) : 그래서 서버 측

string[] result; 
try 
{ 
    result = service.GetCompletionCompany(prefixText, count); 
} 
catch(SoapException exp) 
{ 
    string message = exp.Message; //or exp.InnerException.Message 
} 
+0

몇 가지 예를 제공 할 수 있습니까? 제발 .. – Sukanya

+0

@Sukanya : 작은 머리를 덧붙여서 - 100 % 정확하면 shure가 아니지만 올바른 방향으로 향해야합니다 ... – ChrFin

+0

감사합니다. 코드를 입력 해주세요. – Sukanya

관련 문제