学校管理を担当する新しいASP.NET MVC Webアプリケーションを作成しました。今私は、新しいサブドメインと新しい登録されたクライアントのための新しいデータベースでこのアプリを展開するのに役立つ新しいWebアプリケーションを作成したい。 この作業を行う最善の方法は何ですか? この情報によれば、私はこのタイプのアプリケーションに関する小さな情報を持っています。これは、Microsoft AzureなどのWebホスティング企業が提供するサービスに関連するもので、プログラムを使ってプログラムを作成して設定できます新しく作成されたVMもプログラムで!私は書きますか? まだ私の問題を理解していない場合は、私のプロジェクトで望むのと同じ方法で、非専門家向けの店舗作成を提供するshopify(https://www.shopify.com/)にアクセスしてみてください。 ありがとうございます異なるドメイン名と異なる仮想マシンでASP Webアプリケーションの複数のインスタンスをプログラムで作成する
0
A
答えて
1
以下のコードは、IISホスト上に新しい仮想ディレクトリを作成します。
/// <summary>
/// Create a new virtual directory on the iis host.
/// </summary>
/// <param name="iisHostPath">The iis host path.</param>
/// <param name="physicalPath">The physical path to the directory.</param>
/// <param name="virtualDirectoryName">The virtual directory name.</param>
/// <param name="defaultDocument">The defualt document to set.</param>
/// <returns>True if the virtual directory was created else false.</returns>
/// <example>
/// iisHostPath : [servername]/[service]/[websiteID]/[Root] : localhost/W3SVC/1/Root
/// defaultDocument : [document] : default.aspx
/// </example>
/// <remarks>
/// <para>iisHostPath : [servername]/[service]/[websiteID]/[Root] : localhost/W3SVC/1/Root</para>
/// <para>defaultDocument : [document] : default.aspx</para>
/// </remarks>
public virtual bool CreateVirtualDirectory(string iisHostPath, string physicalPath,
string virtualDirectoryName, string defaultDocument)
{
// Validate the inputs.
if (String.IsNullOrEmpty(iisHostPath))
throw new System.ArgumentNullException("IIS path can not be null.",
new System.Exception("A valid IIS path should be specified."));
// Validate the inputs.
if (String.IsNullOrEmpty(physicalPath))
throw new System.ArgumentNullException("Physical can not be null.",
new System.Exception("A valid physical path should be specified."));
// Validate the inputs.
if (String.IsNullOrEmpty(virtualDirectoryName))
throw new System.ArgumentNullException("Virtual directory name can not be null.",
new System.Exception("A valid virtual directory name should be specified."));
// Validate the inputs.
if (String.IsNullOrEmpty(defaultDocument))
throw new System.ArgumentNullException("Default document can not be null.",
new System.Exception("A valid default document should be specified."));
// Create a new directory entry
// instance to the iis machine.
DirectoryEntry localMachine = new DirectoryEntry(
"IIS://" + iisHostPath);
// Add the iis virtual directory
// to the iis collection.
DirectoryEntry virtName = localMachine.Children.Add(virtualDirectoryName, "IIsWebVirtualDir");
// Commit the changes for the account.
virtName.CommitChanges();
// Assign default properties.
virtName.Properties["Path"][0] = physicalPath;
virtName.Properties["DefaultDoc"][0] = defaultDocument;
virtName.Properties["AccessScript"][0] = true;
// These properties are necessary for an application to be created.
virtName.Properties["AppFriendlyName"][0] = virtualDirectoryName;
virtName.Properties["AppIsolated"][0] = "1";
virtName.Properties["AppRoot"][0] = "/LM/" + iisHostPath;
// Commit the changes for the account.
virtName.CommitChanges();
// Close the connections.
virtName.Close();
localMachine.Close();
// Return success.
return true;
}
次のコードは、IIホストに新しいWebサイトを作成します。
/// <summary>
/// Create a new web site on the iis host.
/// </summary>
/// <param name="iisHostPath">The iis host path.</param>
/// <param name="websiteID">The unique web site id.</param>
/// <param name="websiteName">The name of the web site.</param>
/// <param name="physicalPath">The physical path to the root directory.</param>
/// <returns>True if the web site was created else false.</returns>
/// <example>
/// iisHostPath : [servername]/[service] : localhost/W3SVC
/// websiteID : [number] : 454354
/// </example>
/// <remarks>
/// <para>iisHostPath : [servername]/[service] : localhost/W3SVC</para>
/// <para>websiteID : [number] : 454354</para>
/// </remarks>
public virtual bool CreateWebSite(string iisHostPath,
string websiteID, string websiteName, string physicalPath)
{
// Validate the inputs.
if (String.IsNullOrEmpty(iisHostPath))
throw new System.ArgumentNullException("IIS path can not be null.",
new System.Exception("A valid IIS path should be specified."));
// Validate the inputs.
if (String.IsNullOrEmpty(websiteID))
throw new System.ArgumentNullException("Web site id can not be null.",
new System.Exception("A valid web site id should be specified."));
// Validate the inputs.
if (String.IsNullOrEmpty(websiteName))
throw new System.ArgumentNullException("Web site name can not be null.",
new System.Exception("A valid web site name should be specified."));
// Validate the inputs.
if (String.IsNullOrEmpty(physicalPath))
throw new System.ArgumentNullException("Physical can not be null.",
new System.Exception("A valid physical path should be specified."));
// Create a new directory entry
// instance to the iis machine.
DirectoryEntry localMachine = new DirectoryEntry(
"IIS://" + iisHostPath);
// Add the iis web site
// to the iis collection.
DirectoryEntry siteName = localMachine.Children.Add(websiteID, "IIsWebServer");
// Assign the web site properties.
siteName.Properties["ServerComment"][0] = websiteName;
siteName.CommitChanges();
// Commit the changes for the account.
siteName.CommitChanges();
// Add the iis web site
// to the iis collection.
DirectoryEntry rootName = siteName.Children.Add("Root", "IIsWebVirtualDir");
// Assign the web site properties.
rootName.Properties["Path"][0] = physicalPath;
rootName.Properties["AccessScript"][0] = true;
// Commit the changes for the account.
rootName.CommitChanges();
// Close the connections.
rootName.Close();
siteName.Close();
localMachine.Close();
// Return success.
return true;
}
以下のコードは、IISホストのWebサイトにポート番号を設定します。
/// <summary>
/// Set a port number to a web site on the iis host.
/// </summary>
/// <param name="iisHostPath">The iis host path.</param>
/// <param name="portNumber">The port number.</param>
/// <returns>True if the port number was assigned else false.</returns>
/// <example>
/// iisHostPath : [servername]/[service]/[websiteID] : localhost/W3SVC/1
/// </example>
/// <remarks>
/// <para>iisHostPath : [servername]/[service]/[websiteID] : localhost/W3SVC/1</para>
/// </remarks>
public virtual bool SetWebSitePortNumber(string iisHostPath, int portNumber)
{
// Validate the inputs.
if (String.IsNullOrEmpty(iisHostPath))
throw new System.ArgumentNullException("IIS path can not be null.",
new System.Exception("A valid IIS path should be specified."));
// Validate the inputs.
if (portNumber < 1)
throw new System.ArgumentNullException("Port number not valid.",
new System.Exception("The port number must be greater than zero."));
// Create a new directory entry
// instance to the iis machine.
DirectoryEntry localMachine = new DirectoryEntry(
"IIS://" + iisHostPath);
// Set the web site port number.
localMachine.Properties["ServerBindings"][0] = ":" + portNumber + ":";
// Commit the changes for the account.
localMachine.CommitChanges();
// Close the connections.
localMachine.Close();
// Return success.
return true;
}
localMachine.Properties["ServerBindings"][0] =
は、IISでWebサイトのAdvanced Settings
にBindings
を参照していることに注意してください。
関連する問題
- 1. Webサイト用の仮想ディレクトリをプログラムで作成するWebアプリケーション
- 2. XAMPP仮想ホストの異なる名前
- 3. 仮想マシン/インスタンスの複数の展開
- 4. 異なるドメインの異なるWebサイト、1つの.NET MVCアプリケーション?
- 5. 異なるリクエストのWebアプリケーションの異なるインスタンス
- 6. Azure Webサイトのネットワーク帯域幅は仮想マシンと異なりますか?
- 7. 同じASP.NET仮想ディレクトリ、異なる動作、なぜですか?
- 8. 同じアプリケーションコードですが異なるweb.configと異なる仮想ディレクトリセッションタイムアウト
- 9. 複数の異なるインスタンスを同じWebサイトにインストールする
- 10. 異なるマシン上で動作するプログラムのMakefile
- 11. 異なるIE8バージョンのWebアプリケーションの動作が異なる
- 12. 異なるホストマシンに2台の仮想マシンを接続する方法
- 13. ASP .NET Web APIで異なるクライアントタイプの複数のトークンを作成する方法
- 14. 仮想割り当てが同じ署名の他の仮想関数と異なる動作をするのはなぜですか?
- 15. 同じ変数が異なる実行で異なる仮想アドレスを持つのはなぜですか?
- 16. 異なるドメインの同じインスタンスの2つのWebサーバ
- 17. forループで複数の異なる名前のオブジェクトを作る
- 18. Service Fabricアプリケーションサービスを異なる仮想マシンに展開する方法スケールセット
- 19. JavaアプリケーションからAndroid仮想デバイスを作成するプログラムで
- 20. 異なるマシン上の異なるフォームサイズ
- 21. jQueryツールタブ:複数の異なるインスタンス
- 22. 2台の異なるコンピュータに2台の仮想マシンを接続
- 23. ネットワーク2台の異なるコンピュータに2台の仮想マシンを接続
- 24. 作成 - Azure仮想マシンWindows
- 25. IISで異なるドメイン名などの異なるページ(6または7)
- 26. ループで名前の異なる複数のファイルを作成しますか?
- 27. 異なるクラスのスウィフトでプログラムでボタンを作成する
- 28. 異なるメソッドでクラスのインスタンスを作成する方法
- 29. Pythonでクラスの異なるインスタンスを作成する方法は?
- 30. Java ImageIOが異なるマシン(LinuxとWindows)で異なるイメージを生成するのはなぜですか?