成員關(guān)系 Membership類總是被默認(rèn)地和 SQLServerExpress聯(lián)系起來(lái)使用,但你的數(shù)據(jù)庫(kù)可能是其他的數(shù)據(jù)源提供的,比如:SQLServer2000/2005,Oralce,OleDB,ODBC+Access,那么你可能需要做一些額外的工作來(lái)完成數(shù)據(jù)庫(kù)和應(yīng)用程序之間的聯(lián)系。
在MSDN中你可以很方便地查詢到我們需要使用 AspNet_regsql.exe工具來(lái)完成這個(gè)配置的過(guò)程。下面就以SQLServer2005的配置過(guò)程為例,圖示一下:
一、打開(kāi)aspnet_regsql.exe,單獨(dú)使用以下語(yǔ)句將啟動(dòng)配置向?qū)В阋部梢岳妹钚袇?shù)來(lái)完成配置過(guò)程。
v2.0.50727,可以在C:/WINDOWS/Microsoft.NET/Framework/下輸入dir來(lái)獲取.NET的版本號(hào)![]()
MSDN關(guān)鍵字:Aspnet_regsql.exe可以查找相關(guān)參數(shù)配置的信息。
二、向?qū)J剑ㄔ跀?shù)據(jù)庫(kù)中添加應(yīng)用程序服務(wù)(成員資格、配置文件、角色管理、個(gè)性化設(shè)置(WebPart一類的)以及SQL Web事件提供程序)如果只需要單獨(dú)添加其中的一項(xiàng),請(qǐng)使用參數(shù)配置的方式,以下方式的默認(rèn)參數(shù)為all)


按照提示選擇合適的就可以了,默認(rèn)選中的第一項(xiàng)是在原有的數(shù)據(jù)庫(kù)基礎(chǔ)上添加表和存儲(chǔ)過(guò)程來(lái)完成配置。

在這里數(shù)據(jù)庫(kù)選擇你要添加的數(shù)據(jù)庫(kù),一般為應(yīng)用程序所在的數(shù)據(jù)庫(kù)。可以在下拉列表中選擇。

點(diǎn)下一步開(kāi)始使之前的配置生效,如果您需要修改可以點(diǎn)上一步返回修改后再執(zhí)行下一步

點(diǎn)完成完成添加數(shù)據(jù)庫(kù)的任務(wù)!
三、查看剛才選中的數(shù)據(jù)庫(kù),圖中以" aspnet_"開(kāi)頭的都是為了這個(gè)配置所生成的表,請(qǐng)不要試圖添加任何的字段,因?yàn)榕c此搭配的還有一大堆的存儲(chǔ)過(guò)程,如果修改了表結(jié)構(gòu),那么將會(huì)有意想不到的錯(cuò)誤。

四、在應(yīng)用程序中訪問(wèn),我們還需要做一些配置。
(1)、打開(kāi)Web.config文件,確保已經(jīng)有存在connnectString配置節(jié)
(2)、在<system.web>和</system.web>之間添加以下配置:
<!-- 添加成員管理 -->
< membership defaultProvider ="SqlProvider" userIsOnlineTimeWindow ="20" >
< providers >
< remove name ="AspNetSqlProvider" />
< add connectionStringName ="WebAppBlogConnectionString" enablePasswordRetrieval ="false"
enablePasswordReset ="true" requiresQuestionAndAnswer ="true"
passwordFormat ="Hashed" applicationName ="/" name ="SqlProvider"
type ="System.Web.Security.SqlMembershipProvider" />
</ providers >
</ membership >
<!-- 添加角色管理 -->
< roleManager defaultProvider ="SqlProvider"
enabled ="true"
cacheRolesInCookie ="true"
cookieName =".ASPROLES"
cookieTimeout ="30"
cookiePath ="/"
cookieRequireSSL ="true"
cookieSlidingExpiration ="true"
cookieProtection ="All" >
< providers >
< add
name ="SqlProvider"
type ="System.Web.Security.SqlRoleProvider"
connectionStringName ="WebAppBlogConnectionString"
applicationName ="SampleApplication" />
</ providers >
</ roleManager >
其中的 connectionStringName屬性值都是指連接字符串的名字:
連接字符串類似:
< connectionStrings >
< add name ="WebAppBlogConnectionString" connectionString ="DataSource=.;InitialCatalog=WebAppBlog;IntegratedSecurity=True"
providerName ="System.Data.SqlClient" />
</ connectionStrings >
緩存依賴配置節(jié)如下
< caching >
< sqlCacheDependency enabled ="true" pollTime ="10000" >
< databases >
< add name ="yingnetcrmin" connectionStringName ="WebAppBlogConnectionString" pollTime ="10000" />
</ databases >
</ sqlCacheDependency >
</ caching >
只有完成了以上配置后才能再ASP.Net Web應(yīng)用程序管理中找到相應(yīng)的連接選項(xiàng)。
否則將默認(rèn)連接SQLServerExpress的 AspNetSqlProvider提供程序,而以上配置中有句 < remove name ="AspNetSqlProvider" />就是為了把默認(rèn)的移除。
五、 點(diǎn)Web項(xiàng)目,項(xiàng)目-〉A(chǔ)SP.NET配置,事實(shí)上這個(gè)配置web程序就是為了配置以上這段配置節(jié)所提供的。
將啟動(dòng)IE,在“提供程序”選項(xiàng)卡中選擇“為每項(xiàng)功能選擇不同的提供程序(高級(jí))”。

確保成員資格提供程序和角色提供程序都是剛才你在配置節(jié)中指定的“SqlProvider”
點(diǎn)測(cè)試完成連接測(cè)試。

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

