Tuesday, October 28, 2008
Access Provider for ASP.NET 2.0
Access Database, MembershipProvider > http://www.codeplex.com/MyWebPagesStarterKit/WorkItem/View.aspx?WorkItemId=14643
วิธี Config Membership Database ASP.NET 2.0
ขั้นที่ 1. สร้าง Membership, Role, และ Profile ต่างๆ ในฐานข้อมูล
ก่อนอื่นจะต้องก Install Membership ด้วย Tool ตัวหนึ่งที่ชื่อ aspnet_regsql ที่ SQL Server ได้เตรียมไว้ให้แล้วเพื่อสร้างตารางและ store procedures ของ Membership ให้อัตโนมัติ โดยเครื่องมือนี้สามารถรันผ่าน conmmand prompt หรือผ่าน UI ก็ได้ ซึ่งเปิดมาจะเป็น wizard ซึ่งมีวิธีดังนี้
- ไปที่ Start > Run แล้วไปที่ Folder ถ้าเป็น default ของมันปกติจะอยู่ที่ C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\
- จากนั้นให้เลือกที่ aspnet_regsql.exe แล้ว click run ขึ้นมา จะเห็น wizard ขึ้นมาเป็น configure the SQL Server provider
- เลือกที่ Configure SQL Server for application services แล้วกด Next
- เปลี่ยน authentication เป็น SQL Server authentication
- ใส่ username และ password
- เลือก server และ database ที่ต้องการได้เลย
- กด next เพื่อสร้าง database แล้วปิดได้เลย
Copy code นี้ไปเลย ซึ่งตัวเอียงคือค่าที่คุณต้องใส่เข้าเอง
<connectionStrings>
<clear />
<add name="TestSqlServer" connectionString="server=servername;user id=username;password=mypassword;database=databasename"/>
</connectionStrings>
ซึ่งจะต้อง Clear ค่า Default ก่อนแล้วจึง add database ของเราเข้าไป
แล้วเอา code ไปใส่ครับ เต็มๆ พวกชื่อ Provider ตัวหน้าอะไรก็ดูให้ตรงกับที่เราจะตั้งนะครับ
<membership defaultProvider="TestSqlMembershipProvider" userIsOnlineTimeWindow="15">
<providers>
<remove name="AspNetSqlMembershipProvider" />
<add name="TestSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="TestSqlServer"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="/"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
passwordAttemptWindow="10"
passwordStrengthRegularExpression="" />
< /providers>
</membership>
<roleManager defaultProvider="TestSqlRoleProvider"
enabled="true"
cacheRolesInCookie="true"
cookieName=".ASPXROLES"
cookiePath="/"
cookieTimeout="30"
cookieRequireSSL="false"
cookieSlidingExpiration="true"
createPersistentCookie="false"
cookieProtection="All"
>
<providers>
<remove name="AspNetSqlRoleProvider" />
<remove name="AspNetWindowsTokenRoleProvider" />
<add connectionStringName="TestSqlServer"
applicationName="/"
name="TestSqlRoleProvider"
type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
/>
</providers>
</roleManager>
<profile defaultProvider="TestSqlProfileProvider">
<providers>
<remove name="AspNetSqlProfileProvider" />
<add name="TestSqlProfileProvider"
connectionStringName="TestSqlServer"
applicationName="/"
type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</profile>
</system.web>
วิธีเข้าคือให้เข้าไปที่ VS.NET แล้ว ไปที่ ASP.NET Configuration จากนั้นให้สร้าง user ใหม่ หรือ role มันจะไปสร้าง objects ในฐานข้อมูลของเรา แล้วก็สามารถเลือกที่ Provider tab และเลือก "Select a different provider for each feature(advanced)" ก็ให้เลือกที่ Provider ที่ตั้งชื่อไว้เมื่อ Step 2
ref : http://aspnet.4guysfromrolla.com/articles/120705-1.aspx
Saturday, October 25, 2008
MSDTC on server 'servername' is unavailable.
ERROR: MSDTC on server 'servername' is unavailable.
คุณจำเป็นที่จะต้อง Trigger มันโดยให้คุณเปิด Service MSDTC ขึ้นมา ซึ่งสามารถทำได้ดังนี้
START > SETTINGS > CONTROL PANEL > ADMINISTRATIVE TOOLS > SERVICES
จากนั้นหา Service ชื่อ 'Distributed Transaction Coordinator' แล้วคลิ๊กขวาแล้วกด Start เพื่อเป็นการเปิด Services
Resource :
http://support.microsoft.com/kb/822473/