משיב מוביל
3 SERVICES עם PROXY אחד?

שאלה
-
ב 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מנחה דיון