关于 c#:IIS CLI 为我的项目生成带有站点的 applicationhost.config

IIS CLI generate applicationhost.config with site for my project

我有一个包含多个项目的 C# 解决方案,其中一个是由 IIS 运行的 Web 服务器。我在该项目的 csproj 文件中设置了 <UseGlobalApplicationHostFile>True</UseGlobalApplicationHostFile>

当我打开 Visual Studio 时,它会在 ~/Documents/IISExpress/config/applicationhost.config:

中生成它

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    <sites>
        <site name="WebSite1" id="1" serverAutoStart="true">
           
                <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%//WebSite1" />
            </application>
            <bindings>
                <binding protocol="http" bindingInformation=":8080:localhost" />
            </bindings>
        </site>
        <site name="SealingService" id="2">
           
                <virtualDirectory path="/" physicalPath="C://Users//sehch//Documents//Paragon//ParagonCore//servers//SealingService//SealingService" />
            </application>
            <bindings>
                <binding protocol="http" bindingInformation="*:61800:localhost" />
                <binding protocol="https" bindingInformation="*:44300:localhost" />
            </bindings>
        </site>
        <siteDefaults>
            <logFile logFormat="W3C" directory="%IIS_USER_HOME%//Logs" />
            <traceFailedRequestsLogging directory="%IIS_USER_HOME%//TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
        </siteDefaults>
       
        <virtualDirectoryDefaults allowSubDirConfig="true" />
    </sites>

我希望能够从命令行使用 IIS Express 运行我的项目(用于构建服务器集成测试目的)。如何从命令行生成 applicationhost.config 的 SealingService 站点部分(无需打开 Visual Studio)?

我试过运行

1
"C://Program Files (x86)//IIS Express//iisexpress.exe"

在我的解决方案文件夹中,但它只生成 WebSite1 部分。


如果我理解正确,您要做的是将您指定的部分添加到 ~/Documents/IISExpress/config/applicationhost.config 文件中。

您可以使用 AppCmd.exe 命令行工具执行此操作:

1
2
3
"C://Program Files//IIS Express//appcmd.exe" add site /name:SealingService /bindings:"http/*:61800:localhost" /physicalPath:"C://Users//sehch//Documents//Paragon//ParagonCore//servers//SealingService//SealingService"
"C://Program Files//IIS Express//appcmd.exe" set site /site.name:SealingService /[path=‘/’].applicationPool:Clr4IntegratedAppPool
"C://Program Files//IIS Express//appcmd.exe" set site /site.name:SealingService /+bindings.[protocol=‘https’,bindingInformation=‘*:44300:localhost’]

使用第一个命令我们创建站点,设置它的 http 绑定和它的物理路径;对于第二个,我们将其应用程序池设置为所需的;第三个我们添加了 https 绑定。

如果您使用 x86 版本的 IIS Express,您会在 C:////////Program Files (x86)////////IIS Express////////appcmd.exe 中找到 AppCmd


原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/269618.html

(0)
上一篇 2022年6月22日 11:55
下一篇 2022年6月22日 12:03

相关推荐

发表回复

登录后才能评论