回答
还有“Microsoft Azure Management Libraries”Nuget,它允许您从应用程序内部使用Azure服务。
有关如何从Azure网站内部创建新网站的示例,请参阅this page。重新启动Web服务的工作方式与创建新服务类似。有关可用网站相关方法的列表,请参阅this page。
此外,对于使用证书基础验证进行验证,请参阅this page了解更多详情。
Bellow是一个简短的命令行程序,它将重新启动您在Azure订阅中获得的所有网站空间中的所有网站。它的工作原理类似于Azure网站的iisreset。
的代码是基于前面提到的环节采集的样品:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.WindowsAzure.Management.WebSites;
using Microsoft.WindowsAzure;
using System.Security.Cryptography.X509Certificates;
using Microsoft.WindowsAzure.Management.WebSites.Models;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var subscriptionId = "[INSERT_YOUR_SUBSCRIPTION_ID_HERE]";
var cred = new CertificateCloudCredentials(subscriptionId, GetCertificate());
var client = new WebSiteManagementClient(cred);
WebSpacesListResponse webspaces = client.WebSpaces.List();
webspaces.Select(p =>
{
Console.WriteLine("Processing webspace {0}", p.Name);
WebSpacesListWebSitesResponse websitesInWebspace = client.WebSpaces.ListWebSites(p.Name,
new WebSiteListParameters()
{
});
websitesInWebspace.Select(o =>
{
Console.Write(" - Restarting {0} ... ", o.Name);
OperationResponse operation = client.WebSites.Restart(p.Name, o.Name);
Console.WriteLine(operation.StatusCode.ToString());
return o;
}).ToArray();
return p;
}).ToArray();
if(System.Diagnostics.Debugger.IsAttached)
{
Console.WriteLine("Press anykey to exit");
Console.Read();
}
}
private static X509Certificate2 GetCertificate()
{
string certPath = Environment.CurrentDirectory + "\\" + "[NAME_OF_PFX_CERTIFICATE]";
var x509Cert = new X509Certificate2(certPath,"[PASSWORD_FOR_PFX_CERTIFICATE]");
return x509Cert;
}
}
}
另一种选择,如果你不能找到你从上面提到的库所需要的功能,你还可以运行PowerShell的命令编程从您的应用程序内部。您很可能需要将应该运行这些cmdlet的应用程序移动到虚拟机,以便能够加载所需的PowerShell模块。有关以编程方式运行PowerShell cmdlet的更多信息,请参阅this page。
您可以使用PowerShell来做到这一点。相关的命令是:
启动AzureWebsite -Name“XXXX”
停止-AzureWebsite -Name“XXXX”
您可以通过以下链接找到这些命令的帮助: https://msdn.microsoft.com/en-us/library/azure/dn495288.aspx https://msdn.microsoft.com/en-us/library/azure/dn495185.aspx
我认为处理基本的REST API是更好的选择。 Azure SDK改变很多,缺乏良好的文档。
这里是上最新的示例代码: https://github.com/davidebbo/AzureWebsitesSamples/
你可以使其适应您的需求。
- 1. 如何以编程方式重新启动Azure Web App
- 2. 以编程方式重新启动Azure VM角色(PaaS VM)
- 3. 以编程方式重新启动或停止并在Azure网站上启动应用程序
- 4. 以编程方式刷新/重新启动当前Tomcat实例
- 5. 以编程方式重新启动应用程序?
- 6. 以编程方式重新启动应用程序崩溃
- 7. 以编程方式重新启动Windows中的USB设备
- 8. 如何以编程方式重新启动java web启动应用程序
- 9. 以编程方式重新启动Windows 7计算机
- 10. 如何以编程方式重新启动jar?
- 11. 以编程方式重新启动IIS7(C#)
- 12. 如何以编程方式重新启动?
- 13. Bluecove:以编程方式重新启动蓝牙堆栈
- 14. 如何以编程方式重新启动WAMP或Apache?
- 15. 以编程方式重新启动Windows服务
- 16. 如何以编程方式重新启动Finder?
- 17. 以编程方式重新启动android设备
- 18. 是否有意思以编程方式重新启动WinCE 5.0?
- 19. 以编程方式重新启动Android Studio
- 20. 以编程方式重新启动sql server是win7
- 21. 以编程方式从Azure Web服务启动推送通知?
- 22. 以编程方式在Mac OS X上重新启动Web服务
- 23. 如何在Android中崩溃时以编程方式重新启动/重新启动应用程序?
- 24. 以编程方式重新启动所有崩溃服务的服务程序
- 25. 如何以编程方式重新启动iOS中的iPhone应用程序
- 26. 是否可以在不重新启动进程的情况下重新启动Azure Web角色上的IIS?
- 27. 重新启动BlackBerry编程
- 28. 以编程方式启动Scala REPL?
- 29. 如何以编程方式启动PhoneStateListener?
- 30. 如何以编程方式启动.pdf?
为什么你需要重新启动它们? –
重新创建DocumentDB集合后,存储库的某些静态成员不再有效。所以在这种情况下(不是每天使用),它似乎是最简单的方法。 –
你是否检查过powershell/cli apis?他们应该有一个重新启动或停止/启动api。最糟糕的情况下,你可以杀死网站上的w3wp进程:) –