首页 > 解决方案 > 基于 IIS 的网站无法连接到远程服务器

问题描述

我必须在 .NET Core 中编写一个程序,该程序将(从代码)在远程服务器上创建一个 IIS 网站。

我正在使用的代码:

var serverManager = new ServerManager(Environment.SystemDirectory + "\\inetsrv\\config\\applicationhost.config");
ApplicationPool newPool = serverManager.ApplicationPools.FirstOrDefault(x => x.Name == siteName);
if (newPool == null)
     newPool = serverManager.ApplicationPools.Add(siteName);
newPool.ManagedRuntimeVersion = "v4.0";
Site site = serverManager.Sites.Add(siteName, "http", "*:80:" + siteName, physicalPath + @"\" + siteName);
site.ServerAutoStart = true;
site.ApplicationDefaults.ApplicationPoolName = siteName;
serverManager.CommitChanges();

这适用于本地服务器,但我无法重写它以连接到远程服务器并在那里创建一个页面。

标签: asp.net-coreiis

解决方案


有没有试过里面的OpenRemote方法ServerManager

public static Microsoft.Web.Administration.ServerManager OpenRemote (string serverName);

在此处查看文档

你可以在这里找到一些很好的例子

我想到的另一个好主意是创建一个带有 TCP 连接的 api/service/ 本地应用程序,该应用程序将接受消息并在服务器上运行代码。在这里找到它。尽管通过模拟本地管理员,您可以完成工作。 https://forums.iis.net/t/1162205.aspx


推荐阅读