locked
3 SERVICES עם PROXY אחד? RRS feed

  • שאלה

  • ב WCF

    עד  עכשיו תמיד הייתי מממש ממשק אחד במחלקה,היום ממשתי 3 כשהוספתי SERVICE REFERENCE

    הוא יצר לי 3 PROXIES....שעכשיו אני מבין שזה באמת מה שמצופה

    השאלה שלי אם המחלקה מממשת 3 ממשקים-קרי 3 סרויסים-האם אני יכול ליצור PROXY

    שיכיל את כל השיטות בכל הסרוויסים כך? כלומר יהיה PROXY אחד ל 3 ה סרוויסים

    תודה.

    יום רביעי 02 מאי 2012 17:23

תשובות

  • לא בצורה אוטומטית - אם תשים לב למימוש שנוצר בקליינט תוכל לראות שמחלקת הפרוקסי שנוצרה לך יורשת מ-ClientBase שהוא טיפוס גנרי שמקבל את ה-Interface שהוא ה-Contract - לא ניתן להעביר למחלקה יותר מטיפוס אחד.

    גם השימוש ב-channel factory בצד הקליינט מחייב שימוש בקלאס גנרי שמקבל את ה-contract.

    לכן הדרך היחידה לקבל את המימוש שאתה רוצה זה לבנות דבר כזה לבד (מחלקה שמממשת את שלושת ה-interfaces ומחזירה channel factory מתאים לפי המתודה שנתבקשה).


    Please mark posts as answers/helpful if it answers your question.
    Senior Consultant on WCF, ASP.NET, Siverlight, and Entity Framework. Author of Microsoft's Official WCF 4 Course. Co-author of the Microsoft HPC/Azure burst whitepaper.
    Visit my blog: http://blogs.microsoft.co.il/blogs/idof

    • סומן כתשובה על-ידי NoundaDee יום שישי 04 מאי 2012 04:47
    יום רביעי 02 מאי 2012 18:48
    מנחה דיון

כל התגובות

  • לא בצורה אוטומטית - אם תשים לב למימוש שנוצר בקליינט תוכל לראות שמחלקת הפרוקסי שנוצרה לך יורשת מ-ClientBase שהוא טיפוס גנרי שמקבל את ה-Interface שהוא ה-Contract - לא ניתן להעביר למחלקה יותר מטיפוס אחד.

    גם השימוש ב-channel factory בצד הקליינט מחייב שימוש בקלאס גנרי שמקבל את ה-contract.

    לכן הדרך היחידה לקבל את המימוש שאתה רוצה זה לבנות דבר כזה לבד (מחלקה שמממשת את שלושת ה-interfaces ומחזירה channel factory מתאים לפי המתודה שנתבקשה).


    Please mark posts as answers/helpful if it answers your question.
    Senior Consultant on WCF, ASP.NET, Siverlight, and Entity Framework. Author of Microsoft's Official WCF 4 Course. Co-author of the Microsoft HPC/Azure burst whitepaper.
    Visit my blog: http://blogs.microsoft.co.il/blogs/idof

    • סומן כתשובה על-ידי NoundaDee יום שישי 04 מאי 2012 04:47
    יום רביעי 02 מאי 2012 18:48
    מנחה דיון
  • תודה מה לגבי ניהול  יצירת ה INSTANCES בצד השרת האם אני יכול לקבל את אותה התנהגות

    כמו שהייתי מקבל אם הייתי שם את כל הפונקציות באינטרפייס אחד?

    יום רביעי 02 מאי 2012 19:25
  • לא. ההתנהגות הדיפולטית היא per session אבל בגלל שיש לך שני ערוצי תקשורת שונים מהקליינט (כי יש שני channel factories) אתה מקבל שני instance-ים בשרת.

    בשביל לייצר התנהגות כמו שאתה רוצה, תצטרך לבנות instance context provider חדש עבור "per client", לא משהו פשוט לעשות, אבל עדין אפשרי.


    Please mark posts as answers/helpful if it answers your question.
    Senior Consultant on WCF, ASP.NET, Siverlight, and Entity Framework. Author of Microsoft's Official WCF 4 Course. Co-author of the Microsoft HPC/Azure burst whitepaper.
    Visit my blog: http://blogs.microsoft.co.il/blogs/idof

    יום רביעי 02 מאי 2012 21:02
    מנחה דיון