使用 C# 以编程方式在 IIS 中创建网站并设置端口号

2023-12-20

我们已经能够创建一个网站。我们使用此链接中的信息来完成此操作:

https://msdn.microsoft.com/en-us/library/ms525598.aspx https://msdn.microsoft.com/en-us/library/ms525598.aspx

但是,我们想使用端口 80 以外的端口号。我们该怎么做?

我们使用的是 IIS 6


如果您使用的是 IIS 7,则有一个新的托管 API,称为微软网络管理 http://blogs.msdn.com/carlosag/archive/2006/04/17/MicrosoftWebAdministration.aspx

上述博客文章中的一个示例:

ServerManager iisManager = new ServerManager();
iisManager.Sites.Add("NewSite", "http", "*:8080:", "d:\\MySite");
iisManager.CommitChanges(); 

如果您使用的是 IIS 6 并且想要执行此操作,那么不幸的是,它会更加复杂。

您必须在每台服务器上创建一个 Web 服务,这是一个处理网站创建的 Web 服务,因为通过网络直接模拟用户将无法正常工作(如果我没记错的话)。

您将必须使用互操作服务并执行与此类似的操作(此示例使用两个对象,服务器和站点,它们是存储服务器和站点配置的自定义类的实例):

string metabasePath = "IIS://" + server.ComputerName + "/W3SVC";
DirectoryEntry w3svc = new DirectoryEntry(metabasePath, server.Username, server.Password);

string serverBindings = ":80:" + site.HostName;
string homeDirectory = server.WWWRootPath + "\\" + site.FolderName;


object[] newSite = new object[] { site.Name, new object[] { serverBindings }, homeDirectory };

object websiteId = (object)w3svc.Invoke("CreateNewSite", newSite);

// Returns the Website ID from the Metabase
int id = (int)websiteId;

查看更多here http://msdn.microsoft.com/en-us/library/ms524569.aspx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 C# 以编程方式在 IIS 中创建网站并设置端口号 的相关文章

随机推荐

  • 将按结果分组保存到单独的 CSV 文件中

    我有一个代码 用于使用 CSV 数据创建组并使用该组创建新文件 我读取了 csv 文件 然后使用它 问题是当我的函数工作并使用数据创建新文件时 新文件的名称是组的名称 我不希望这样 ID Inventory Domain Requests
  • Android从缩略图获取图像路径?

    我正在尝试为目前市场上的我的应用程序提供关键更新 我需要查询 MediaStore 中的缩略图 并将缩略图加载到 GridView 中 到目前为止一切顺利 现在我只需要根据我所拥有的内容 即缩略图的路径 获取用户外部存储上实际全尺寸图像的路
  • Oracle复制数据到另一个表

    在Oracle中 我将数据从备份复制到新表 但不起作用 正确的语法是什么 Thanks select CODE MESSAGE into EXCEPTION CODES CODE MESSAGE from Exception code tm
  • 为什么 sizeof(std::mutex)==40 (gcc,clang,icc)? [复制]

    这个问题在这里已经有答案了 而不是sizeof std atomic
  • 使用 SvelteKit 将图像放置在哪里

    我已经使用 Svelte 一段时间了 现在我已切换到 SvelteKit 这样我就可以添加多个页面 我想向我的网站添加一些图像 但我不知道将它们放在哪里 在 Svelte 中我会把它们放进去public images但没有public带有
  • 在 Android 上的 AAC 流中查找

    我从 HTTP 服务器获取 AAC 流并将其用作MediaPlayer在安卓中 它运行得很好 但是当我尝试执行时mediaPlayer seekTo int position 我收到以下错误大约一百万次 WARN AACDecoder 13
  • 处理 PowerShell 脚本中的命令提示符错误

    我正在尝试运行一些命令提示符命令 例如schtasks在 PowerShell 脚本中 我想知道如何处理 PowerShell 中命令引发的错误 I tried cmd exe c schtasks Query TN xx echo ERR
  • System.Messaging - 为什么 MessageQueue 不提供 Send 的异步版本

    有人知道为什么 System Messaging 不提供异步版本的 Send 方法来将 MSMQ 消息发送到队列 实际上有 Peek 和 Receive 方法的异步版本 通过可以转换为 C 5 异步等待方法的 Begin End 对 但令人
  • 初始化一个sqlite数据库android

    大家好 我对 Android 开发还很陌生 我想向我的应用程序添加一个数据库 问题是我不知道如何仅初始化整个表一次 我读了很多书 发现你可以做到 的压倒性作用onCreate SQLiteDatabase db 辅助类中的方法 这些是我的数
  • 全局 Jest SpyOn 函数不调用原始函数

    我希望有人能帮助我理解 js 原型的交互性和jest spOn 我有一个小例子 文件中的示例类TestObj ts export default class TestObj foo Do Something e g console log
  • iOS 7 模拟器日语键盘词典位于哪里?

    这个问题和这个有点相似 如何在 iPhone 模拟器上启用日语键盘 https stackoverflow com questions 8051141 how do i enable the japanese keyboard on the
  • 为什么需要多个shared_future对象来同步数据

    指向数据结构的指针通过以下方式与多个线程共享std promise and std shared future 从书中 C 并发实践 作者 Anthony Williams 第 85 86 页 似乎只有当每个接收线程使用副本时 数据才会正确
  • 如何以编程方式显示或隐藏 Outlook 信封图标?

    例如 如何在 Outlook 规则中显示或隐藏 Outlook 信封图标 信封图标选项可通过以下位置设置 工具 gt 选项 电子邮件选项 高级电子邮件选项 在通知区域显示信封图标 我之所以说以编程方式是因为没有任何标准规则操作适用 清除消息
  • 提高 Python 中超大型字典的性能

    我发现如果我在开始时初始化一个空字典 然后在for循环中向字典中添加元素 大约110 000个键 每个键的值是一个列表 也在循环中增加 速度会下降for 循环继续 我怀疑问题是 字典在初始化时不知道键的数量 并且它没有做一些非常聪明的事情
  • 如何处理错误“由于 @netlify/plugin-deploy-core 插件中的错误而导致部署失败。”?

    我在将 Next js 项目部署到 Netlify 时遇到问题 昨天运行良好 但现在我在部署时遇到错误 Here I attached error log screenshot and full log 11 40 08 AM Build
  • AutoMapper 不会将计算字段映射到标量

    我试图将我的 MVC3 项目分离到适当的 DAL Domain ViewModel 架构中 但我遇到了 AutoMapper 和将计算字段从我的域映射到我的视图模型的问题 这是我正在尝试做的事情的一个例子 界面 public interfa
  • d3 - 将元素附加到外部 SVG 文件

    我有一个图形想要加载为 d3 可视化的背景 或者简单地作为svg我可以附加circle元素 插图位于svg格式 我尝试将其加载到我的html文件的方式允许我将元素 例如圆圈 附加到 或顶部 svg文件或到div这是我尝试过的两种方法
  • 从浏览器链接启动 Android 应用程序

    我在尝试使用自己的方案从浏览器启动应用程序时遇到问题 代码如下 清单文件
  • 如何在 SciPy 中创建对角稀疏矩阵

    我正在尝试创建一个稀疏矩阵 该矩阵具有沿对角线延伸的二维图案 通过一个简单的例子可能最容易解释这一点 假设我的模式是 1 0 2 0 1 我想创建一个稀疏矩阵 2 0 1 0 0 0 0 0 0 2 0 1 0 0 0 0 1 0 2 0
  • 使用 C# 以编程方式在 IIS 中创建网站并设置端口号

    我们已经能够创建一个网站 我们使用此链接中的信息来完成此操作 https msdn microsoft com en us library ms525598 aspx https msdn microsoft com en us libra