嗨,
我需要在一个Web应用程序@ Azure中创建多个域。
如何在天蓝色中接近这个概念?
感谢。
答案 0 :(得分:0)
你应该注册域名,然后去编程方式。我建议 - 下面是将域名添加到webapp的代码片段(C#)。但您可以使用http://portal.azure.com添加主机名 - 设置=>自定义域=>主机名。 (带外部域名)。
1)将NuGet Web Sites Management Package安装到您的项目中。
2)获取Azure发布设置文件(例如,使用Powershell Get-AzurePublishSettingsFile)。稍后您将需要它(该文件中的管理证书字段的值)。
2)实例化WebSiteManagementClient。 That应该有助于理解代码。
3)接下来,代码如下。我刚刚测试过并且有效。首先,它列出了网站空间,然后是每个网站空间内的网站,你应该将网站空间复制并粘贴到
中public const string base64EncodedCertificate = "ManagementCertificateValueFromPublishSettingsFile";
public const string subscriptionId = "AzureSubscriptionId";
static SubscriptionCloudCredentials getCredentials()
{
return new CertificateCloudCredentials(subscriptionId, new X509Certificate2(Convert.FromBase64String(base64EncodedCertificate)));
}
static void Main(string[] args)
{
WebSiteManagementClient client = new WebSiteManagementClient(getCredentials());
WebSpacesListResponse n = client.WebSpaces.List();
n.Select(p =>
{
Console.WriteLine("webspace {0}", p.Name);
WebSpacesListWebSitesResponse websitesInWebspace = client.WebSpaces.ListWebSites(p.Name,
new WebSiteListParameters()
{
});
websitesInWebspace.Select(o =>
{
Console.Write(o.Name);
return o;
}).ToArray();
return p;
}).ToArray();
Console.ReadLine();
var configuration = client.WebSites.Get("WebSpaceName", "WebSiteName", new WebSiteGetParameters());
configuration.WebSite.HostNames.Add("new domain");
var resp = client.WebSites.Update("WebSpaceName", "WebSiteName", new WebSiteUpdateParameters() { HostNames = configuration.WebSite.HostNames });
Console.WriteLine(resp.StatusCode);
Console.ReadLine();
}