使用IIS Express主机静态网站

时间:2012-09-19 20:36:05

标签: ajax webserver iis-express

是否可以在没有web.config的情况下在IISExpress上托管静态文件?

我有一个html5应用程序原型(没有服务器端代码),我想在IISExpress Webserver上托管该网站,因为有一些json文件模拟我使用AJAX访问的REST-API。

有一个main.html文件和一些api / data.json文件。

当我创建一个VS-Project时,一切正常。

删除所有配置和VS相关文件,并使用

手动添加网站
appcmd add site /name:"HTMLStandalone" /bindings:http/*:56668 /physicalPath:"C:\Users\me\somefoler\myapp"

更新:工作正常,它会导致applicationhost.config

中的以下条目
<site name="HTMLStandalone" id="4">
                <application path="/">
                    <virtualDirectory path="/" physicalPath="C:\Users\me\somefolder\myapp" />
                </application>
                <bindings>
                    <binding protocol="http" bindingInformation="*:56668" />
                </bindings>
            </site>

当我启动网站时

 iisexpress.exe /site:HTMLStandalone

该过程失败:

Failed to translate binding to url prefix *:56668
Registration completed for site "HTMLStandalone"
Failed to process sites
Report ListenerChannel stopped due to failure; ProtocolId:http, ListenerChannelI
d:0
HostableWebCore activation failed.

是否可以在没有web.config的情况下托管静态文件?

2 个答案:

答案 0 :(得分:0)

web.config文件不是必需的。看起来您的appcmd.exe命令很少...请执行以下命令

appcmd add site / name:“HTMLStandalone”/ bindings: http / *:56668: / physicalPath:“C:\ Users \ me \ somefoler \ myapp”

请注意,要运行此站点,您必须以管理员身份运行。如果要以非管理员身份运行,请运行以下命令

appcmd add site / name:“HTMLStandalone”/ bindings: http / *:56668:localhost / physicalPath:“C:\ Users \ me \ somefoler \ myapp”

答案 1 :(得分:0)

来自iis.net网站

  

您还可以使用/ path选项直接从a运行站点   夹。此选项适用于任何类型的应用程序,包括   静态HTML,ASP.NET,PHP和WCF。默认情况下,IIS Express将运行   http://localhost:8080/上的网站。对于托管网站,例如   ASP.NET,IIS Express将使用.NET 4.0。您可以使用/ port和/ clr   覆盖这些默认值的选项。

就我而言,这还不够。 / path和/ config标志不可组合。我想要一个自定义的applicationhost.config文件(为了添加json和text / cache-manifest的mime-extenstions)

目前的解决方案是添加绑定:http / *:56668: localhost

另外,为了使网站在(本地)网络上可用,您可以使用个人电脑/服务器的DNS名称,例如:绑定:HTTP:/ *:56668:我-PC