是否可以在没有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的情况下托管静态文件?
答案 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 强>