gpt4 book ai didi

iis - VS2012 Web Deploy Package 创建应用程序池

转载 作者:行者123 更新时间:2023-12-03 10:42:59 24 4
gpt4 key购买 nike

我在 VS2012 中有一个 Web 应用程序项目,我正在使用“Web 部署包”发布它。我希望这个包包含应用程序池设置,特别是创建一个 IIS 应用程序池并将新创建的应用程序分配给它。

我熟悉当项目配置为使用 IIS 实例(不是 IIS Express)时可用的选项“包括此 Web 项目使用的应用程序池设置”,但 IIS 配置为 不是 项目文件的一部分,因此不受源代码控制。当有人在没有精心配置 IIS 的机器上构建部署包时会发生什么?不理想。

那么,我还能如何将 AppPool 设置放入我的 Web 部署包中?我知道 appPoolConfig 提供程序仅是 IIS7+,我对这个限制很好。过去我一直在努力解决这个问题,但从未找到解决方案。 18 个月后,我们有了一个新的 VisualStudio 版本和一个新的网络发布管道,是否有新的选项来解决这个问题?或者当我第一次解决这个问题时我错过了什么?

编辑

好的,我看到以下选项:

  • 将我的项目配置为从 IIS 实例同步设置。如前所述,我不喜欢这个,因为它将设置放在项目之外,这意味着必须精心配置环境以构建 + 发布。此外,它还会拖累我不想包含的其他 IIS 设置。
  • 在 web-publishing-pipeline (WPP) 中注入(inject)一些东西来修改 archive.xml。我过去曾玩弄过这个并且取得了有限的成功。一个问题是管道不能与直接处理 archive.xml 文件完全协作,另一个问题是涉及一些更神秘的属性,例如 MSDeploy.MSDeployProviderOptions哪个似乎有一些 Base64 编码的二进制文件?不知道该放什么。
  • 找到可以做我想做的现有“提供者”。我可能在这里不走运,appPoolConfig provider 似乎只想读/写 IIS,而不是设置的 XML 文件。有人知道吗?
  • 编写我自己的“提供程序”来生成 list 输出条目。我不确定,是否可以编写一个自定义提供程序,使用现有提供程序的名称写入 list ?如,MyCustomPoolProviderappPoolConfig部分进入 list ?这听起来像是一种可能会或可能不会起作用的潜在痛苦练习。我还需要弄清楚 MSDeploy.MSDeployProviderOptions 中的任何内容的编码吗? ?

  • 我觉得 Web Deploy 的基本障碍是我想要完成的工作,它是多么严格地依赖“提供者”。预先存在的提供程序主要是为 IIS 同步而设计的, 不是 初级开发和出版。碰巧的是,其中一些提供程序可以相对容易地通过 MSBuild 连接,但大多数人坚持从 IIS 中提取数据,仅此而已。

    最佳答案

    您对 appPoolConfig 的理解是正确的provider,因为它只能在 App Pool 之间同步,不能直接提供配置。您可能会做的是在 package 中保留一份有问题的 appPool 副本。表单(即 msdeploy -verb:sync -source:appPoolConfig=PoolName -dest:package=apppool.zip )并尝试劫持管道,以便 MSDeploy 调用将应用程序内容添加到包中,将现有内容留在那里。

    或者,您可以始终将包分开,并通过对 MSDeploy 的不同调用来部署它们。

    仅供引用,MSDeploy.MSDeployProviderOptions只是打包时提供给提供者的参数的编码版本。例如,-source:dirPath=c:\,ignoreErrors=0x10293847 -dest:package=package.zip将打包ignoreErrors值(value)。

    关于iis - VS2012 Web Deploy Package 创建应用程序池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14347459/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com