עבור לתוכן

C# Web Services - רוצה לקבל פרטים על הלקוח שמתחבר

Featured Replies

פורסם

שלום לכולם.

אני עושה צעדים ראשונים ב-C#, ועבודה עם Web Services.

נניח שבניתי Web Service קטן:


namespace MyService
{
public class Calc : System.Web.Services.WebService
{
[WebMethod] public int Add(int a, int b)
{
return a+b;
}
}
}

כעת לפני שאני מחזיר את התוצאה ללקוח, אני רוצה לקבל עליו פרטים (למשל, מאיזה כתובת הוא מתחבר).

רציתי לדעת איך עושים זאת, ואיזה פרטים אפשר לדעת בכלל...

כמו כן, איך אני יכול לגלות התחברות אצלי?

כלומר אני רוצה לדעת כל פעם שמישהו משתמש בשירות שלי. אז לא הצלחתי למשל להקפיץ Form או MessageBox... האם ניתן לפתוח איזו קונסולה שאליה אכתוב את הפרטים? או שהדרך היחידה היא לכתוב לקובץ?

פורסם
  • מחבר

OK, אחרי חיפושים בגוגל ונבירות ב-MSDN מצאתי את התשובה:

Context.Request.UserHostAddress - מחזיר את כתובת ה-IP של הלקוח.

ובכלל האובייקט Context.Request מחזיק את כל פרטי הלקוח.

בכל אופן אשמח עדיין לדעת:

כמו כן, איך אני יכול לגלות התחברות אצלי?

כלומר אני רוצה לדעת כל פעם שמישהו משתמש בשירות שלי. אז לא הצלחתי למשל להקפיץ Form או MessageBox... האם ניתן לפתוח איזו קונסולה שאליה אכתוב את הפרטים? או שהדרך היחידה היא לכתוב לקובץ?

פורסם

כעקרון מה שהייתי ממליץ לך זה לכתוב ללוג.

הבעיה היא שWebServices לא רצים מתחת ליוזר שאתה עשית איתו לוג אין (כלומר מתחת לDesktopשלך) אלא תחת שירות כללי של מערת ההפעלה. בגלל זה ד"א אפשר לגשת אליהם ממחשב אחר גם אם אף אחד לא עשה Login.

נדמה לי שאפשר איפהשהו כן לקנפג שהIIS (מה שמריץ את הWebService שלך) יתקשר עם המשתמש שמחובר כרגע, אבל אין לי את זה מותקן בבית. אם אני אזכור אני אבדוק מחר בעבודה.

אפשר גם להקפיץ חלונות למשתמשים אחרים, אבל זה כבר להכנס לWin32, והרשאות ובלאגנים...

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים