10

I'm trying to understand why my default document doesn't come up when I browse the virtual directory. If I browse to the site like I should be able to, I get this:

ここに画像の説明を入力


However, if I add the page to the URL, it comes up:

ここに画像の説明を入力


One SO answer suggested removing all of the default documents (in IIS) except the real one. I tried that (image below) but it didn't help.

ここに画像の説明を入力


Why won't IIS serve that page when using the root URL (http://localhost/SignalRChat)?

This is the relevant part of the web.config after removing the default docs:

<defaultDocument>
    <files>
        <remove value="default.aspx" />
        <remove value="iisstart.htm" />
        <remove value="index.html" />
        <remove value="index.htm" />
        <remove value="Default.asp" />
        <remove value="Default.htm" />
        <add value="ChatPage.cshtml" />
    </files>
</defaultDocument>

This is the handlers section:

<handlers>
  <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
  <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
  <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
  <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*."
       verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"
       modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll"
       preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
  <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*."
       verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"
       modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll"
       preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
  <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*."
       verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler"
       preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
4

6 に答える 6

0

Web サイト/アプリケーションのインストーラーを作成できます。起動ページの選択を設定するオプションがあります。

そのため、localhost/SignalIRChat と入力した場合は、インストール後に、ChatPage.cshtml をインストーラーの起動ページとして設定します。

アドレス バーに「ChatPage.cshtml」という名前が表示されずに、ChatPage.cshtml のコンテンツが表示されます。

それはあなたの問題を解決します。

于 2013-06-03T07:00:32.340 に答える
0

これをセクションHandlerの最後に追加する必要があります。handlers

<add name="StaticFile" path="*" verb="*" type="" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" scriptProcessor="" resourceType="Either" requireAccess="Read" allowPathInfo="false" preCondition="" responseBufferLimit="4194304" />

アップデート:

ファイルはデフォルトでブロックされるため.cshtml、次のものが必要です。

    <handlers>
        <remove name="cshtml-ISAPI-4.0_64bit" />
        <remove name="cshtml-ISAPI-4.0_32bit" />
        <remove name="cshtml-Integrated-4.0" />
        <remove name="cshtm-ISAPI-4.0_64bit" />
        <remove name="cshtm-ISAPI-4.0_32bit" />
        <remove name="cshtm-Integrated-4.0" />
    </handlers>

    <staticContent>
        <mimeMap fileExtension=".cshtml" mimeType="text/html" />
    </staticContent>

提案されたハンドラーを削除しますStaticFile(まだ存在する場合)。

于 2013-06-03T07:08:55.740 に答える
-4

IIS でディレクトリの参照が無効になっているようです。IIS でディレクトリの参照を有効にしました。それはあなたの問題を解決します。

詳細については、 http://technet.microsoft.com/en-us/library/cc731109%28v=ws.10%29.aspxをご覧ください。

これが役立つことを願っています。

于 2013-06-02T12:01:05.790 に答える