2015-01-28 4 views
0

.NET 웹 서비스를 사용하는 iPhone 응용 프로그램을 만들고 있습니다.일부 URL 매개 변수를 무시하도록 강요합니다.

내가 가진 URL은 다음과 같습니다.

http://www.myweb.com/wser.asmx/listOfStudents?class=12 

여기에 아래 필드가있는 학생 목록이 있습니다.

Name 
Roll Number 
Class 

클라이언트가 아랍어 버전을 만들어달라고 요청했습니다. 그래서 아래 쿼리를 업데이트합니다.

http://www.myweb.com/wser.asmx/listOfStudents?class=12&appLang=ar 
                 ^^^^^^^^^^^^ 

테스트를 위해 우리는 & 체크 다른 서버에서 웹 서비스를 업데이트하고 모두가 잘 작동된다.

이제 앱 스토어에 앱을 업로드하는 동안 앱 스토어에있는 현재 앱에 appLang 변수가 없어 실제 웹 서비스를 업데이트하면 현재 앱이 작동하지 않는 것으로 나타났습니다.

webservice & 사과를 테스트하지 않으면 appLang 매개 변수 누락 오류가 발생하여 응용 프로그램이 중단됩니다. I는 생각했다 그래서

,

나는 새로운 웹 서비스를 업로드합니다,하지만 appLang가에 의해 기본 아랍어 될 것입니다.

업데이트 된 웹 서비스 (webservice에는 추가되었지만 URL에는 appLang이 추가되지 않음)로 URL http://www.myweb.com/wser.asmx/listOfStudents?class=12을 실행하면 마치 parameter missing appLang의 오류가 발생하지 않습니까?

기본 매개 변수를 만들려면 어떤 방법이 있습니까? GET을 사용하면 꽤 (이 경우 POST이 더 적합 할 수있다)이없는 동안

+1

ASMX는 기존의 기술, 새로운 개발에 사용되어서는 안된다. 웹 서비스 클라이언트와 서버의 모든 새로운 개발에는 WCF 또는 ASP.NET 웹 API를 사용해야합니다. 한 가지 힌트 : Microsoft는 MSDN에서 [ASMX 포럼] (http://social.msdn.microsoft.com/Forums/en-US/asmxandxml/threads)을 퇴역 시켰습니다. –

답변

1

, 당신이 할 수 있습니다 :

//by specifying a messageName, you can do overloading with webmethods 
[WebMethod (MessageName = "listOfStudentsDefault")] 
[ScriptMethod(UseHttpGet=true)] 
public string listOfStudents(int class, string appLang) 
{ 
    // code here... 
} 

[WebMethod (MessageName = "listOfStudents")] 
[ScriptMethod(UseHttpGet=true)] 
public string listOfStudents(int class) 
{ 
    return listOfStudents(class, "ar"); 
}