3

web.config を使用せずに IISExpress で静的ファイルのみをホストすることは可能ですか?

html5 アプリケーション プロトタイプ (サーバー側コードなし) があり、AJAX でアクセスする REST-API をシミュレートする json ファイルがいくつかあるため、IISExpress Web サーバーで Web サイトをホストしたいと考えています。

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 なしで静的ファイルのみをホストすることは可能ですか?

4

2 に答える 2

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"

于 2012-10-13T15:36:43.553 に答える
0

iis.net Web サイトから

/path オプションを使用して、フォルダーから直接サイトを実行することもできます。このオプションは、静的 HTML、ASP.NET、PHP、WCF など、あらゆる種類のアプリケーションで機能します。デフォルトでは、IIS Express は でサイトを実行しますhttp://localhost:8080/。ASP.NET などのマネージド Web サイトの場合、IIS Express は .NET 4.0 を使用します。/port および /clr オプションを使用して、これらのデフォルト値をオーバーライドできます。

私の場合、これでは十分ではありませんでした。/path フラグと /config フラグを組み合わせることはできません。カスタムの applicationhost.config ファイルが必要でした (json と text/cache-manifest の mime-extensions を追加するため)

現在の解決策は、バインディングを追加することでした: http/*:56668: localhost

または、(ローカル) ネットワークでサイトを利用できるようにするには、PC/サーバーの dns-name を使用できます。例: bindings:http:/*:56668: my-pc

于 2012-10-18T11:02:12.920 に答える