이 샘플은 ASP.NET 2.0 웹 사이트에서 Skype 기능을 사용하는 방법을 보여줍니다. Skype 사용자 이름과 표준 전화번호를 기준으로 해당 필드에 입력합니다. 6개의 LinkButton은 다음과 같은 기본 작업을 수행하기 위해 웹 사이트에서 Skype에 필요한 문자열로 채워집니다.
Skype를 통해 Skype 전화 걸기.
연락처 정보를 요청하세요.
채팅을 시작하세요.
Skype를 통해 파일을 보냅니다.
연락처를 추가하세요.
Skype Out 통화를 해보세요.
이 샘플 만들기
저는 비어 있는 새 웹 사이트를 생성하여 이 샘플을 시작하고, 웹 사이트 아래에 새 항목 추가 옵션을 선택한 다음, 새 WebUserControl을 선택하여 SkypeSample이라고 하는 애플리케이션에 추가했습니다(생성 후 .ascx 확장자를 얻습니다). 이 WebsUserControl에서 다음 컨트롤을 만들었습니다.
Skype 이름 텍스트 속성이 있는 레이블
텍스트 속성이 Phone Nr인 레이블
ID가 txtSkypeName인 TextBox
ID가 txtPhoneNr인 TextBox
기본적으로 Text 속성이 Populate로 설정된 Button1이라는 버튼
6개의 LinkButton은 기본적으로 Linkbutton1로 호출됩니다.
기본적으로 Image1이라는 6개의 표준 유형 이미지가 있습니다.
또한 프로젝트에 이미지 폴더를 추가하고 개발자가 Skype 웹사이트에서 사용할 수 있는 이미지 세트를 다운로드하고(이미지를 다운로드하려면 여기를 클릭하십시오) 필요한 버튼을 선택하여 생성된 이미지 맵에 추가했습니다. 내 컨트롤 Image1에서 Image6까지의 경로를 내 이미지 폴더의 적절한 이미지로 설정했습니다.
Button1의 경우 Populate_Click이라는 이벤트를 생성하고 나중에 생성한 SetSkypeStatus 메서드를 실행하는 다음 코드를 생성했습니다.
//스파이 상태 얻기
노력하다
{
this.SetSkype();
}
잡다
{
//
}
마지막으로
{
//
}
그런 다음 UserControl을 클릭하여 코드 숨김으로 이동하고 SetSkype라는 메서드와 응용 프로그램에 필요한 문자열을 만들었습니다.
보호된 무효 SetSkype()
{
//웹사이트의 이미지를 보이지 않도록 설정합니다.
Image1.Visible = true;
Image2.Visible = true;
Image3.Visible = 사실;
Image4.Visible = 사실;
Image5.Visible = 사실;
Image6.Visible = 사실;
//저장할 문자열을 생성합니다.
//필요한 값 및 작업
문자열 SkypeName = txtSkypeName.Text;
문자열 LandPhone = txtPhoneNr.Text;
문자열 PathSkypeStatusString = "";
string SkypeAddContactString = "";
string SkypeCallString = "";
string SkypeLandCall = "";
string SkypeChattString = "";
문자열 SkypeProfileString = "";
문자열 SkypeSendFileString = "";
문자열을 값으로 채우기 위해 try 블록을 만들었습니다. 첫 번째 블록은 메서드가 실행된 후 입력된 Skype 사용자 이름의 상태를 가져옵니다. 아래 코드에서 볼 수 있듯이 세 개의 문자열(s1, s2, sT)을 만들었습니다. 첫 번째 try 블록의 세 개 중 마지막 하나는 Skype 연락처 상태를 가져오는 데 사용할 수 있는 문자열을 생성하려고 시도했기 때문에 총 문자열을 나타냅니다. 아래에서 볼 수 있듯이 문자열의 첫 번째 부분은 볼 위치와 사용할 아이콘을 알려주는 URL입니다. 예를 들어 "mediumicon"이라는 단어를 "largeicon"으로 변경할 수 있으며 큰 아이콘이 표시됩니다. 이 블록의 문자열 sT= 부분은 문자열 sT의 실제 값을 내가 원하는 문자열, 조회할 경로 및 상태를 원하는 Skype 사용자 이름으로 설정합니다. 그러면 sT가 보유하는 값이 위에서 생성된 PathSkypeStatusString에 전달됩니다. PathSkypeStatusString을 Image1 URL의 값으로 할당하므로 런타임 시 이 이미지는 사용자의 현재 상태가 포함된 중간 아이콘을 표시해야 합니다.
//스파이 상태 얻기
노력하다
{
문자열 s1 = " http://mystatus.skype.com/mediumicon/ ";
문자열 s2 = 스카이프이름;
문자열 sT = s1 + s2;
PathSkypeStatusString = sT;
Image1.ImageUrl = PathSkypeStatusString;
}
잡다
{
//
}
마지막으로
{
//
}
다음 부분에서는 Skype 사용자 이름이 문자열 중간에 있으므로 더 많은 문자열이 필요하므로 전체 문자열을 만드는 것이 조금 더 복잡합니다. s4는 런타임에 수행되는 작업이고 LinkButton에 표시되는 텍스트의 s6이기 때문에 이 부분에서 중요합니다. 다시 한 번 문자열 sT를 생성하고 값을 SkypeCallString에 전달하고 LinkButton1의 값을 SkypeCallString의 콘텐츠로 설정하므로 런타임에 이 Linkbutton을 클릭하면 통화가 시작됩니다. 코드에서 HREF 값은 닫는 태그 없이 표시됩니다. 그 이유는 나중에 문자열 s6의 값을 설정할 때 해당 값이 추가되기 때문입니다.
//콜스트링 설정
노력하다
{
//string s1 = "코드 보기";
문자열 s2 = "스카이프:";
문자열 s3 = 스카이프이름;
문자열 s4 = "?전화";
문자열 s5 = '"'.ToString();
string s6 = ">스카이프 미";
문자열 sT = s1 + s2 + s3 + s4 + s5 + s6;
SkypeCallString = sT;
LinkButton1.Text = SkypeCallString;
}
잡다
{
//할일
}
마지막으로
{
//할일
}
사용자가 수행할 수 있는 모든 작업에 대해 이 작업을 반복하고 LinkButton의 값을 사용자가 수행하려는 작업으로 설정합니다. 다양한 작업이 항상 ?call, ?chat 등으로 표시되는 이유는 분명합니다.
샘플 코드 실행
샘플 코드를 실행하려면 Visual Studio에서 파일, 열기 메뉴 옵션 아래에 있는 SkypeSample 폴더를 열고 웹 사이트를 선택하면 됩니다. 코드가 로드되어야 하며 F5 키를 누르면 샘플 애플리케이션이 실행되어야 합니다.
추가 사용
이 샘플은 Skype 사용자 이름과 전화번호를 데이터베이스에 저장하고 이러한 값을 데이터 소스와 함께 로드하는 DetailControl 등을 사용하여 웹 사이트에 표시할 때 동적으로 쉽게 사용할 수 있습니다. DetailControl에 대한 DataKeys로 Skype 사용자 이름과 전화 번호를 설정하면 문자열(Skype 사용자 이름 및 전화 번호)을 채우기 위해 런타임에 보유하는 값을 사용할 수 있습니다. 다음은 Skype에서 속성을 설정하는 방법을 보여주는 샘플입니다.
//SkypeName 및 SkypeLandCall 문자열 값을 동적으로 설정
노력하다
{
//문자열 SkypeName 설정
string SkypeName = DetailsView1.DataKey["Skype"].ToString();
//문자열 설정 SkypeLandCall
string SkypeLandCall = DetailsView1.DataKey["CompanyPhone"].ToString();
}
잡다
{
//할일
}
마지막으로
{
//할일
}
관심 장소
코드가 완벽하다고 말하는 것은 아니지만 내 노트북에서는 잘 작동합니다. 로컬 서버에서 웹사이트를 요청하면 모든 Skype 옵션이 작동합니다. Skype라는 이름은 Skype Limited의 저작권입니다.