يوضح هذا النموذج كيفية استخدام ميزات Skype في موقع ويب ASP.NET 2.0 الخاص بك. بناءً على اسم مستخدم Skype ورقم الهاتف القياسي، اكتب في الحقول المناسبة. تتم تعبئة ستة أزرار ربط بالسلاسل التي يحتاجها Skype في موقع ويب للقيام بالإجراءات الأساسية، وهي:
إجراء مكالمة Skype عبر Skype.
طلب معلومات الاتصال.
ابدأ محادثة.
إرسال ملف عبر سكايب.
أضف جهة اتصال.
قم بإجراء مكالمة Skype Out.
إنشاء هذه العينة
لقد بدأت هذا النموذج عن طريق إنشاء موقع ويب فارغ جديد، وحددت الخيار "إضافة عنصر جديد ضمن موقع الويب"، وحددت WebUserControl جديد لإضافته إلى تطبيقي الذي أطلقت عليه اسم SkypeSample (يحصل على الامتداد .ascx بعد الإنشاء). في WebsUserControl هذا، قمت بإنشاء عناصر التحكم التالية:
تسمية تحتوي على خاصية النص اسم Skype
تسمية مع خاصية النص رقم الهاتف
مربع نص بالمعرف txtSkypeName
مربع نص بالمعرف txtPhoneNr
زر يسمى Button1 افتراضيًا، مع تعيين خاصية النص إلى Populate
ستة أزرار ربط تسمى، بشكل افتراضي، Linkbutton1...
ستة صور من النوع القياسي تسمى، افتراضيًا، Image1...
علاوة على ذلك، قمت بإضافة مجلد الصور إلى المشروع، وقمت بتنزيل مجموعة من الصور التي يمكن للمطورين استخدامها من موقع Skype على الويب (انقر هنا لتنزيل الصور)، واخترت الأزرار التي أحتاجها، وأضفتها إلى خريطة الصور التي تم إنشاؤها. لقد قمت بتعيين مسار عناصر التحكم الخاصة بي من Image1 إلى Image6 إلى الصورة المناسبة في مجلد الصور الخاص بي.
بالنسبة إلى Button1، قمت بإنشاء حدث يسمى Populate_Click، والتعليمة البرمجية التالية التي ستطلق الطريقة SetSkypeStatus التي قمت بإنشائها لاحقًا.
//احصل على حالة تجسس
يحاول
{
this.SetSkype();
}
يمسك
{
//
}
أخيراً
{
//
}
ثم قمت بالنقر فوق UserControl للانتقال إلى الكود الخلفي، وقمت بإنشاء طريقة تسمى SetSkype والسلاسل المطلوبة للتطبيق.
الفراغ المحمي SetSkype ()
{
// اضبط الصور الموجودة على موقع الويب على أنها غير مرئية
Image1.Visible = true;
Image2.Visible = true;
Image3.Visible = true;
Image4.Visible = true;
Image5.Visible = true;
Image6.Visible = true;
// أنشئ السلاسل التي سيتم الاحتفاظ بها
// القيم والإجراءات المطلوبة
string SkypeName = txtSkypeName.Text؛
سلسلة LandPhone = txtPhoneNr.Text؛
سلسلة PathSkypeStatusString = "";
سلسلة SkypeAddContactString = "";
سلسلة SkypeCallString = "";
سلسلة SkypeLandCall = ""؛
سلسلة SkypeChattString = "";
سلسلة SkypeProfileString = ""؛
سلسلة SkypeSendFileString = "";
لملء السلاسل بالقيم، قمت بإنشاء كتل محاولة. تحصل الكتلة الأولى على حالة اسم مستخدم Skype الذي تم كتابته بعد تشغيل الطريقة. كما ترون في الكود أدناه، قمت بإنشاء ثلاث سلاسل (s1، s2، sT)؛ آخر واحد من الثلاثة في كتلة المحاولة الأولى يمثل إجمالي السلسلة منذ أن حاولت إنشاء سلسلة يمكنني استخدامها للحصول على حالة جهة اتصال Skype. كما ترون أدناه، الجزء الأول من السلسلة هو عنوان URL الذي يوضح المكان الذي يجب البحث فيه، والرمز الذي يجب استخدامه. يمكنك تغيير كلمة "mediumicon" إلى "largeicon" على سبيل المثال، وسيتم عرض رمز كبير. يقوم جزء السلسلة sT= في هذه الكتلة بتعيين القيمة الفعلية للسلسلة sT إلى السلسلة التي أريدها، والمسار الذي يجب البحث عنه بالإضافة إلى اسم مستخدم Skype الذي أريد حالته. يتم بعد ذلك تمرير القيمة التي يحتفظ بها sT إلى PathSkypeStatusString الذي تم إنشاؤه أعلاه؛ وقمت بتعيين PathSkypeStatusString كقيمة لعنوان URL الخاص بـ Image1، لذلك في وقت التشغيل، يجب أن تعرض هذه الصورة رمزًا متوسطًا بالحالة الحالية للمستخدم.
//احصل على حالة تجسس
يحاول
{
السلسلة s1 = " http://mystatus.skype.com/mediumicon/ "؛
سلسلة s2 = SkypeName؛
سلسلة sT = s1 + s2؛
PathSkypeStatusString = sT;
Image1.ImageUrl = PathSkypeStatusString;
}
يمسك
{
//
}
أخيراً
{
//
}
في الجزء التالي، أحتاج إلى المزيد من السلاسل لأن اسم مستخدم Skype سيكون في منتصف السلسلة، لذا فإن إنشاء السلسلة الكاملة أكثر تعقيدًا بعض الشيء. يعد s4 مهمًا في هذا الجزء لأن هذا هو الإجراء الذي سيتم تنفيذه في وقت التشغيل، وs6 في النص الذي سيكون مرئيًا في LinkButton. مرة أخرى، أقوم بإنشاء السلسلة sT، وتمرير القيمة إلى SkypeCallString، وتعيين قيمة LinkButton1 على محتوى SkypeCallString، لذلك في وقت التشغيل، سيبدأ زر الارتباط هذا المكالمة عند النقر عليه. في الكود، تظهر قيمة HREF بدون علامة إغلاق لأنه يتم إضافتها لاحقًا عندما أقوم بتعيين قيمة السلسلة s6.
//تعيين CallString
يحاول
{
//string s1 = "انظر الكود";
السلسلة s2 = "سكايب:";
سلسلة s3 = SkypeName؛
سلسلة s4 = "؟اتصال";
سلسلة s5 = '"'.ToString();
سلسلة s6 = ">Skype Me";
سلسلة sT = s1 + s2 + s3 + s4 + s5 + s6؛
SkypeCallString = sT;
LinkButton1.Text = SkypeCallString;
}
يمسك
{
//ما يجب القيام به
}
أخيراً
{
//ما يجب القيام به
}
أكرر هذا لجميع الإجراءات التي يمكن للمستخدم تنفيذها، مع ضبط قيم LinkButtons على الإجراءات التي أريد منهم تنفيذها. من الواضح لماذا تبدو الإجراءات المختلفة دائمًا مثل "الاتصال" أو "الدردشة" وما إلى ذلك.
تشغيل نموذج التعليمات البرمجية
لتشغيل نموذج التعليمات البرمجية، ما عليك سوى فتح مجلد SkypeSample باستخدام Visual Studio، ضمن خيار القائمة ملف، وفتح، وتحديد موقع الويب. يجب تحميل التعليمات البرمجية، وعندما تضغط على F5، يجب تشغيل التطبيق النموذجي.
مزيد من الاستخدام
من السهل استخدام هذا النموذج ديناميكيًا عندما تقوم بتخزين اسم مستخدم Skype ورقم الهاتف في قاعدة بيانات وتقديم هذه القيم في موقع الويب الخاص بك، على سبيل المثال، باستخدام DetailControl الذي تقوم بتحميله مع مصدر بيانات. عندما تقوم بتعيين اسم مستخدم Skype ورقم الهاتف كمفاتيح بيانات لـ DetailControl، يمكنك استخدام القيم التي يحتفظون بها في وقت التشغيل لملء السلاسل (اسم مستخدم Skype ورقم الهاتف). فيما يلي نموذج يوضح كيف يمكنك تعيين الخصائص من Skype.
// قم بتعيين قيم سلسلة SkypeName وSkypeLandCall ديناميكيًا
يحاول
{
// تعيين سلسلة SkypeName
سلسلة SkypeName = تفاصيلView1.DataKey["Skype"].ToString();
// تعيين سلسلة SkypeLandCall
سلسلة SkypeLandCall = التفاصيلView1.DataKey["CompanyPhone"].ToString();
}
يمسك
{
//ما يجب القيام به
}
أخيراً
{
//ما يجب القيام به
}
النقاط المثيرة للاهتمام
أنا لا أقول أن الكود مثالي ولكنه يعمل بشكل جيد من جهاز الكمبيوتر المحمول الخاص بي. عندما أطلب موقع الويب من الخادم المحلي الخاص بي، تعمل جميع خيارات Skype. الاسم Skype هو حقوق الطبع والنشر لشركة Skype Limited.