실버라이트 OOB 환경에서 로컬 컴퓨터의 IPAddress를 가져오는 방법입니다.
기존 실버라이트에서는 InitParams를 이용하거나 WCF 서비스등을 통해 얻어 올 수 있지만
OOB에서는 사용할 수 없음으로 다른 방법이 필요한데요.
OOB의 COM 오토메이션과 WMI를 이용하면 가능합니다.
public class Util { public static string GetLocalIPAddress() { if (!Application.Current.HasElevatedPermissions) { return string.Empty; } try { if (AutomationFactory.IsAvailable) { using (dynamic wmi = AutomationFactory.CreateObject("WbemScripting.SWbemLocator")) { dynamic service = wmi.ConnectServer(".", @"root\cimv2"); dynamic query = service.ExecQuery(@"select IPAddress from string ipAddress = query.ItemIndex(0).IPAddress[0]; return ipAddress; } } else { return string.Empty; } } catch (Exception ex) { MessageBox.Show(ex.Message); } return string.Empty; } } |
'Web > Sliverlight' 카테고리의 다른 글
Sliverlight Using COM (0) | 2011.12.05 |
---|