مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

salman_b

عضویت از 1396/02/18

مشکل در custom attribute در wcf

  • دوشنبه 25 تیر 1397
  • 09:45
تشکر میکنم

چرا نمیشه یه attribute رو بالای operation ها استفاده کرد ؟ در واقع اصلا کار نمیکنه و انگار هیچ متایی رو به متدها اعمال نمی کنه.

مثلا کد زیر: (البته کار خاصی نمی کنه اما خب کلا وارد سازندش نمیشه)


    [AttributeUsage(AttributeTargets.All, Inherited = false, AllowMultiple = true)]
    public class UserAccessAttribute : Attribute
    {
        private string userRole;

        public UserAccessAttribute(string userRole)
        {
            this.userRole = userRole;
        }

        public string GetUserRole()
        {
            return userRole;
        }
    }

    [ServiceContract]
    public interface IServiceHello
    {
        [OperationContract]
        [WebGet(UriTemplate = "/Admin", ResponseFormat = WebMessageFormat.Json)]
        string SayHelloToAdmin();

        [OperationContract]
        [WebGet(UriTemplate = "/User", ResponseFormat = WebMessageFormat.Json)]
        string SayHelloToUser();

        [OperationContract]
        [WebGet(UriTemplate = "/Any", ResponseFormat = WebMessageFormat.Json)]
        string SayHelloToAnonymous();
    }

    public class ServiceHello : IServiceHello
    {
        [UserAccess("Admin")]
        public string SayHelloToAdmin()
        {
            return "Hello Admin";
        }

        [UserAccess("User")]
        public string SayHelloToAnonymous()
        {
            return "Hello";
        }

        [UserAccess("User")]
        public string SayHelloToUser()
        {
            return "Hello User";
        }
    }

وب کانفیگمم هم چیز خاصی نداره و اتصالش از نوع webhttpbindig هستش

پاسخ های این پرسش

تعداد پاسخ ها : 0 پاسخ
در حال حاضر هیچ پاسخی ارسال نشده است
کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)