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

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

آموزشگاه برنامه نویسان

چگونه می توان مشکل در قسمت WEbConfig برنامه هنگام اجرای Layout در explorer را حل کرد

ﺳﻪ شنبه, 24 بهمن 1396 14:26

چگونه می توان مشکل در قسمت WEbConfig برنامه هنگام اجرای Layout در explorer را حل کرد

Configuration Error

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. 

Parser Error Message: This method cannot be called during the application's pre-start initialization phase.

Source Error: 

<roleManager enabled="true" defaultProvider="MyRoleProvider">
    <providers>
      <clear/>
      <add name="MyRoleProvider" type="MyEshop.Classes.MyRoleProvider"/>  هعلان خطا در این خط
    </providers>
  </roleManager>


Source File: c:\users\xpill\documents\visual studio 2015\Projects\MyEshop\MyEshop\web.config    Line: 33 

با سلام و خسته نباشید خدمت استاد گرامی.....پس از شناساندن کلاس مدیریت نقش های پروژه و اجرای اون به این خطا در مرور گر خود بر خرد کردم....اگر امکان داره ...راهنمایی کنید..با تشکر 

آکادمی برنامه نویسان تلگرام برنامه نویسان
ﺳﻪ شنبه, 24 بهمن 1396 16:28

کد کلاس RoleProvider را قرار دهید

ﺳﻪ شنبه, 24 بهمن 1396 17:08
فقط بدنه یک متد رو پر کردم

 public override string[] GetRolesForUser(string username)
        {
            using (MyEshopEntities db = new MyEshopEntities())
            {
                return db.Users.Where(p => p.UserName == username).
                    Select(p => p.Roles.RoleName).ToArray();
            }
        }

ﺳﻪ شنبه, 24 بهمن 1396 18:27

کد کامل کلاس را قرار دهید

ﺳﻪ شنبه, 24 بهمن 1396 18:28
namespace MyEshop.Classes
{
    public class MyRoleProvider : RoleProvider
    {
        public override string ApplicationName
        {
            get
            {
                throw new NotImplementedException();
            }

            set
            {
                throw new NotImplementedException();
            }
        }

        public override void AddUsersToRoles(string[] usernames, string[] roleNames)
        {
            throw new NotImplementedException();
        }

        public override void CreateRole(string roleName)
        {
            throw new NotImplementedException();
        }

        public override bool DeleteRole(string roleName, bool throwOnPopulatedRole)
        {
            throw new NotImplementedException();
        }

        public override string[] FindUsersInRole(string roleName, string usernameToMatch)
        {
            throw new NotImplementedException();
        }

        public override string[] GetAllRoles()
        {
            throw new NotImplementedException();
        }

        public override string[] GetRolesForUser(string username)
        {
            
            using (MyEshopEntities db = new MyEshopEntities())
            {
                return db.Users.Where(p => p.UserName == username).
                    Select(p => p.Roles.RoleName).ToArray();
            }
        }

        public override string[] GetUsersInRole(string roleName)
        {
            throw new NotImplementedException();
        }

        public override bool IsUserInRole(string username, string roleName)
        {
            throw new NotImplementedException();
        }

        public override void RemoveUsersFromRoles(string[] usernames, string[] roleNames)
        {
            throw new NotImplementedException();
        }

        public override bool RoleExists(string roleName)
        {
            throw new NotImplementedException();
        }
    }
}

ﺳﻪ شنبه, 24 بهمن 1396 18:30

به خدا قسم به جان خودم میخوام NameSpace رو ببینیم 

کد کامل 

کنترل را نگه دارید در کلاس A را فشار دهید سپس کنترل را مجدد نگه دارید c را بزنید و در اینجا کنترل را نگه دارید v را بزنید 

ﺳﻪ شنبه, 24 بهمن 1396 18:34

جوب هرچی شما بگی مهندس چرا ناراحت میشی...شما گفتی کدcrying

ﺳﻪ شنبه, 24 بهمن 1396 18:37

ناراحت نشدم دوست من ، شوخی کردم 

کد درست است 

احراز هویت را روی forms گذاشتید ؟ 

ﺳﻪ شنبه, 24 بهمن 1396 18:38
<authentication mode="Forms">
      <forms name="MyEshop" defaultUrl="/" loginUrl="/Account/Login" timeout="43200">
      </forms>
    </authentication>

ﺳﻪ شنبه, 24 بهمن 1396 19:05
<add key="enableSimpleMembership" value="false"/>
    <add key="autoFormsAuthentication" value="false"/>

  

مهندس با این تیکه کد توی appseting درست شد ..اما درک نمی کنم چه ربطی داشت

ﺳﻪ شنبه, 24 بهمن 1396 22:15

تنظیمات membership است ولی تاحالا به این شکل ندیده بودم

ﺳﻪ شنبه, 24 بهمن 1396 23:43

چه مشکل حل بشه چه نشه ما همیشه قدردان  زحمات شما و مشارکت شما هستیم سپاس فراوان

ارسال پاسخ برای این تاپیک

ارسال پاسخ مخصوص اعضا سایت می باشد ! میتوانید با حساب کاربری خود وارد سایت شده یا ثبت نام کنید