packages/Microsoft.AspNet.Providers.1.2/tools/Install.ps1
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
param($installPath, $toolsPath, $package, $project)
try {
# Set up variables
$timestamp = (Get-Date).ToString('yyyyMMddHHmmss')
$projectName = [IO.Path]::GetFileName($project.ProjectName.Trim([IO.PATH]::DirectorySeparatorChar, [IO.PATH]::AltDirectorySeparatorChar))
$catalogName = "aspnet-$projectName-$timestamp"
$connectionString ="Data Source=.\SQLEXPRESS;Initial Catalog=$catalogName;Integrated Security=SSPI"
$connectionStringToken = "Data Source=.\SQLEXPRESS;Initial Catalog=aspnet-$projectName"
$config = $project.ProjectItems | Where-Object { $_.Name -eq "Web.config" }
$configPath = ($config.Properties | Where-Object { $_.Name -eq "FullPath" }).Value
# Load the Config File
$xml = New-Object System.Xml.XmlDocument
$xml.Load($configPath)
function CommentNode($node) {
if (!$node) {
return;
}
$commentNode = $xml.CreateComment($node.OuterXml)
$parent = $node.ParentNode
$parent.InsertBefore($commentNode, $node) | Out-Null
$parent.RemoveChild($node) | Out-Null
}
function GetConnectionStringToken($connectionStringValue, $tokenName) {
$startIndex = $connectionStringValue.IndexOf($tokenName, [StringComparison]::OrdinalIgnoreCase)
if ($startIndex -ge 0) {
$endIndex = $connectionStringValue.IndexOf(';', $startIndex + 1)
$endIndex = if ($endIndex -lt 0) { $connectionStringValue.Length } else { $endIndex }
';' + $connectionStringValue.Substring($startIndex, $endIndex - $startIndex)
}
}
# Comment out older providers
$node = $xml.SelectSingleNode("/configuration/system.web/membership/providers/add[@type='System.Web.Security.SqlMembershipProvider']")
$addedNode = $xml.SelectSingleNode("/configuration/system.web/membership/providers/add[@name='DefaultMembershipProvider']")
if ($node) {
# Copy all attributes other than 'name', 'type' and 'connectionStringName' to the newly added node.
$node.Attributes | Where { ! (@('name', 'type', 'connectionStringName') -contains $_.name) } | ForEach {
$addedNode.SetAttribute($_.name, $_.value)
}
}
$oldConnectionNode = $xml.SelectSingleNode("/configuration/connectionStrings/add[@name='$($node.connectionStringName)']")
if ($oldConnectionNode) {
$oldConnectionValue = $oldConnectionNode.connectionString
# Copy AttachDBFileName and UserInstance values from the old connection string if they exist
if ($oldConnectionValue.IndexOf('AttachDBFilename', [StringComparison]::OrdinalIgnoreCase) -ge 0) {
$connectionString += ";AttachDBFilename=|DataDirectory|$catalogName.mdf"
}
$connectionString += (GetConnectionStringToken $oldConnectionValue 'User Instance')
}
CommentNode $node
CommentNode $oldConnectionNode
后面还有 36 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
