回答
還有「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. 以編程方式重新啓動IIS
- 2. 以編程方式重新啓動Azure VM角色(PaaS VM)
- 3. 如何以編程方式重新啓動Azure Web App
- 4. 以編程方式重新啓動或停止並在Azure網站上啓動應用程序
- 5. 以編程方式刷新/重新啓動當前Tomcat實例
- 6. 以編程方式重新啓動應用程序?
- 7. 以編程方式重新啓動android應用程序
- 8. 以編程方式重新啓動應用程序?
- 9. 以編程方式重新啓動應用程序崩潰
- 10. 以編程方式重新啓動離子應用程序
- 11. 以編程方式重新啓動Windows中的USB設備
- 12. 如何以編程方式重新啓動java web啓動應用程序
- 13. 如何以編程方式重新啓動?
- 14. 如何以編程方式重新啓動MVC4項目
- 15. 在Windows Phone 8.1中以編程方式檢測重新啓動
- 16. 以編程方式重新啓動Android Studio
- 17. 如何以編程方式重新啓動WAMP或Apache?
- 18. 以編程方式重新啓動Windows 7計算機
- 19. 以編程方式重新啓動sql server是win7
- 20. 如何以編程方式重新啓動jar?
- 21. 如何以編程方式重新啓動Finder?
- 22. 以編程方式重新啓動android設備
- 23. Bluecove:以編程方式重新啓動藍牙堆棧
- 24. 以編程方式重新啓動IIS7(C#)
- 25. 以編程方式重新啓動對話框
- 26. 是否有意思以編程方式重新啓動WinCE 5.0?
- 27. 以編程方式重新啓動Windows服務
- 28. 以編程方式重新啓動(或重新加載配置)Eclipse-CS
- 29. 以編程方式啓動Azure網站插槽
- 30. 以編程方式從Azure Web服務啓動推送通知?
爲什麼你需要重新啓動它們? –
重新創建DocumentDB集合後,存儲庫的某些靜態成員不再有效。所以在這種情況下(不是每天使用),它似乎是最簡單的方法。 –
你是否檢查過powershell/cli apis?他們應該有一個重新啓動或停止/啓動api。最糟糕的情況下,你可以殺死網站上的w3wp進程:) –