옴니아1 당시에 만들었던 스마트폰(정확히는 윈도우 모바일 6.1용) 학생증을 옴니아2에서 테스트 해보았다. 옴니아2는 윈도우 모바일 6.5인 줄로 알았던 나는 코드상의 문제인 줄 알고 열심히 코드를 쳐다봤지 뭔가! 나중에서야 둘 다 6.1버전이라는 사실을 알게 되기는 했지만.
코드 중에서 프로그램의 버전을 체크하기 위해 웹 서비스로부터 최신 버전값을 XML로 받아오는 구문이 있다. 웹브라우저를 통해서 웹서비스를 확인해보면 잘만 돌아가고 있건만 왜 모바일 상에서는 오류가 나는지 도통 알 수가 없더라. 차장님께서 당장 내일 학교에 옴니아2를 가져간다고 하시니 마음이 급해서 더 이상 혼자 삽질을 할 수 없어 결국 회사 선배에게 SOS를 요청했다.
디버깅으로 조건식에서 WebException의 Status 속성을 보니 ConnectFailure 라는 문구가 뜬다. 인터넷이 연결되지 않았다는 말이란다. 곰곰히 생각해보니 왜 인터넷 연결문제를 먼저 생각해내지 못했는지 스스로도 바보같아 헛웃음이 나온다. (;;) 서로 같은 운영체제에다가 웹서비스도 문제없이 잘 돌아가고 있고 또 그 후로 코드가 수정된 것도 없는데- 그런데도 그저 내 코드가 문제가 있겠거니 하며 몇 시간을 낭비했으니 말이다.
나와 같은 문제를 겪는 사용자가 있을 수 있기에, 위와 같은 예외처리를 해 주었다. ConnectFailure 에러일 경우에는 인터넷 연결을 확인하고 다시 시도하라고 알려주고 있다. 지금까지 예외처리에서 써 본 속성이라고는 Message뿐이었는데 공부가 되었다. 그리고 체계적으로 책을 공부하지 않고 그 때 그 때 인터넷 뒤적이며 공부한 나의 C# 실력이 얼마나 모래 위에 지은 집과 같은지도 절절히 깨달았다. 반성반성. 하지만 매번 이리 맘을 먹어도 바쁜 시간을 쪼개어 공부하기란 참 어렵다. (게다가 회사에서 C#만 시키는 게 아니니ㅜ_ㅜ)
코드 중에서 프로그램의 버전을 체크하기 위해 웹 서비스로부터 최신 버전값을 XML로 받아오는 구문이 있다. 웹브라우저를 통해서 웹서비스를 확인해보면 잘만 돌아가고 있건만 왜 모바일 상에서는 오류가 나는지 도통 알 수가 없더라. 차장님께서 당장 내일 학교에 옴니아2를 가져간다고 하시니 마음이 급해서 더 이상 혼자 삽질을 할 수 없어 결국 회사 선배에게 SOS를 요청했다.
디버깅으로 조건식에서 WebException의 Status 속성을 보니 ConnectFailure 라는 문구가 뜬다. 인터넷이 연결되지 않았다는 말이란다. 곰곰히 생각해보니 왜 인터넷 연결문제를 먼저 생각해내지 못했는지 스스로도 바보같아 헛웃음이 나온다. (;;) 서로 같은 운영체제에다가 웹서비스도 문제없이 잘 돌아가고 있고 또 그 후로 코드가 수정된 것도 없는데- 그런데도 그저 내 코드가 문제가 있겠거니 하며 몇 시간을 낭비했으니 말이다.
try
{
// 웹서비스에서 프로그램 버전 확인
SmartService MyService = new SmartService();
result = MyService.CheckVersion(major, minor, build);
}
catch (WebException wx)
{
if (wx.Status == WebExceptionStatus.ConnectFailure)
{
MessageBox.Show("인터넷 연결을 확인한 후 다시 시도해 주십시오.");
Application.Exit();
}
else
{
MessageBox.Show("버전체크에서 오류가 발생하였습니다. 다시 시도해 주십시오.");
Application.Exit();
return 0;
}
{
// 웹서비스에서 프로그램 버전 확인
SmartService MyService = new SmartService();
result = MyService.CheckVersion(major, minor, build);
}
catch (WebException wx)
{
if (wx.Status == WebExceptionStatus.ConnectFailure)
{
MessageBox.Show("인터넷 연결을 확인한 후 다시 시도해 주십시오.");
Application.Exit();
}
else
{
MessageBox.Show("버전체크에서 오류가 발생하였습니다. 다시 시도해 주십시오.");
Application.Exit();
return 0;
}
나와 같은 문제를 겪는 사용자가 있을 수 있기에, 위와 같은 예외처리를 해 주었다. ConnectFailure 에러일 경우에는 인터넷 연결을 확인하고 다시 시도하라고 알려주고 있다. 지금까지 예외처리에서 써 본 속성이라고는 Message뿐이었는데 공부가 되었다. 그리고 체계적으로 책을 공부하지 않고 그 때 그 때 인터넷 뒤적이며 공부한 나의 C# 실력이 얼마나 모래 위에 지은 집과 같은지도 절절히 깨달았다. 반성반성. 하지만 매번 이리 맘을 먹어도 바쁜 시간을 쪼개어 공부하기란 참 어렵다. (게다가 회사에서 C#만 시키는 게 아니니ㅜ_ㅜ)
'브랜드메이킹 > 2009 신입 개발자 일기' 카테고리의 다른 글
| 창피한 실수, submit에 location.href는 걸어봐야 소용없다 (0) | 2010/03/08 |
|---|---|
| 웹 예외(WebException)가 발생하면 Status를 확인해보자 (0) | 2010/02/22 |
| 로그인 페이지에서 쿼리를 쓸 때는 파라매터를 사용하자 (0) | 2010/01/22 |
| 콤보박스는 DropDownList 스타일이 좋다 (0) | 2009/12/30 |