PDA

View Full Version : خطا در اتصال به application service در هنگام ایجاد user



elina
شنبه 19 اسفند 1391, 15:49 عصر
سلام دوستان
من برای بار اول هستش که می خوام تو یه برنامه ای که تحت وب نوشتم از membership هاش استفاده کنم . وقتی به Web Site Administration Tool به قسمت security میرم و روی تعریف user کلیک میکنم ، این پیغام خطا رو بهم میده :
The connection name 'ApplicationServices' was not found in the applications configuration or the connection string is empty. at System.Web.Util.SecUtility.GetConnectionString(Nam eValueCollection config) at System.Web.Security.SqlMembershipProvider.Initiali ze(String name, NameValueCollection config) at System.Web.Configuration.ProvidersHelper.Instantia teProvider(ProviderSettings providerSettings, Type providerType)
در ضمن من توی webconfig هم application service ام رو به شکل زیر دارم :
<add name="ApplicationServices" connectionString="data source=.;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\asp netdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
اگه کسی از دوستان میتونه کمکی کنه ، ممنون میشه ...

elina
یک شنبه 20 اسفند 1391, 09:33 صبح
کسی از دوستان نیست که راهنمایی بده ، کلا وقتی از v4 استفاده میکنم ساخت یوزر اشکال میگیره ولی وقتی از 3.5 استفاده میکنم بدون هیچ مشکلی این کارو انجام میده .
با دات نت 4 مشکل داره ؟

mohammad973
یک شنبه 20 اسفند 1391, 10:56 صبح
سلام . دوست عزیز ، من با این موارد توی .net 4.5 خیلی مشکل داشتم . چندوقته روش دیگری رو اجرا کردم که خیلی خیلی بهتره ! این روش رو میگم ، دوست داشتی اجرا کن ببین جواب میده یا نه .

فقط قبلش یه فایل پشتیبان از پروژه ات بگیر که اگر جواب نداد یا اونچیزی نبود که میخوای ، پرژه ات نابود نشه !!!

توی این روش ، تنها از دیتابیس خودت برای یوزر هات استفاده میکنی و با مشکلات دیتابیسی که توی App_Data ساخته میشه و یا مشکلات برای شناسوندن کانکشن استرینگ مواجه نخواهی شد !

پس :
1. اول پشتیبان از پروژه ات!
2. وارد web.config شو . این مقدار رو توی connectionStrings بنویس :

<connectionStrings>
<remove name="LocalSqlServer" />
<add name="LocalSqlServer" connectionString="Data Source=SERVER_NAME;Initial Catalog=DATABASE_NAME;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>

(SERVER_NAME نام سرورتون و DATABASE_NAME نام دیتابیسی هست که میخوایند اطلاعات کاربراتونو توش داشته باشید)
یا اینکار در واقع مقدار فعلی LocalSqlServer رو (که به طور پیش فرض برای شناسایی Membership Connection String شما شناسایی میشه) حذف می کنید و به Visual Studio می گین که Connection String جدید رو به عنوان منبع جدید ذخیره اطلاعات Membership، Profile و Role شناسایی کنه.

3.صفحه Default.aspx مربوط به وبسایتتون رو باز کنید و در قسمت using ، خط زیر رو اضافه کنید:

using System.Web.Management;


4. بعد در متد Load فرمتون، کد زیر رو قرار بدین:

SqlServices.Install("YOUR_SERVER", "YOUR_DATABASE", SqlFeatures.All);


که YOUR_SERVER نام Server ای هست که دیتابیستونن رو توش ذخیره کردید و YOUR_DATABASE نا خود دیتابیستون هست .
حالا صفحه ی Default.aspx رو اجرا کنید . پس از اجرا ، مرورگرتون رو ببندید ، کدی که در load اون نوشتید حتما رو پاک کنید و بعد ذیتایستون رو باز کنید. میبینید که جداول مورد نیاز به دیتابستون اضافه شدند . حالا به Asp.net WebConfiguration برید ، و یوزرهاتونو تعریف کنید و ....

elina
یک شنبه 20 اسفند 1391, 15:16 عصر
سلام
ممنون از پاسختون ، مشکلم تا اینجا حل شده ، حالا برای گذاشتن فرم های مورد نیازم دچار مشکل شدم ، تا اینجا فرم های تعریف کاربر و تغییر کلمه عبور و اتصال هر کاربر به رول خود و ... نوشته شده ولی من میخوام ادمین سیستم بتونه هر کاربری که تعریف میکنه رو بهش دسترسی به صفحات خاصی رو بده ، توی تنظیمات فقط میبینم در صورتی که هر صفحه تو یه فلدر باشه این امکان وجود داره ، میشه لطفا راهنمایی کنین ؟