0

最終更新: DotNetNuke モジュールの圧縮の問題が原因で、これは厄介な問題であることが判明しました。PageBlaster DNN モジュールに追加する必要があったため、これはもはや問題ではありません。

WCF svc ファイルをライブ Web サイトに初めて展開していますが、プレーン テキストとしてブラウザーにレンダリング/提供されています。localhost の私の開発環境では問題なく動作します。ここで問題を見ることができます:

http://www.pokerdiy.com/test.svc

Web サイトは、 Windows Server 2008 R2バージョン 6.1 SP1 (64 ビット) 上の IIS 7.5.7600.16385 で、.NET 4.0 を使用した統合アプリケーションプール実行されています(私は Entity Framework 4.2 を使用しています)。

更新:ライブ サーバーでは、サイトは Web サイトとして追加されます (つまり、既定の Web サイトの下ではありません)。一方、私の開発環境では、DotNetNuke は、独自の web.config を持つ既定の Web サイトの下で仮想ディレクトリとして実行されています (これは私がライブサイトのものと比較して同一です)。

興味深いことに、私がライブ サーバーにいて、デフォルトの Web サイト ( http://localhost/Test.svc ) の test.svc ファイルを参照すると、動作しますが、PokerDIY.com Web サイトのファイルは動作しません。 ( http://www.pokerdiy.com/test.svc )。私の既定の Web サイトは、追加の Web サイトとはどうやら異なっているように見えますか?

もう 1 つの興味深い点: すべての .svc ハンドラー マッピングを削除したところ、「HTTP エラー 404.3 - 見つかりません」というエラーが表示されるようになりました。つまり、ハンドラー マッピングはそれを傍受しています。それに対して何もしていません! .svc ハンドラー マッピングを再度追加することで、静的テキストに戻すことができます。

多くの RTFMing の後、最初に確認したのは、MS の記事に従ってハンドラー マッピングでした: すべての svc マッピングがそこにあります (svc-integrated は、この記事に従って上部にあります) 。

この記事に従ってWCFも再インストールしましたが、違いはありませんでした。Fiddler を使用すると、Content-Type が「text/html」であることがわかります

他に何を試すことができますか?

注: ASMX Web サービス、ASP.NET ファイルなどはすべて正常に動作します。

更新: 私のホスティング プロバイダーは、サービスが存在するディレクトリを仮想ディレクトリにすることを提案しました。これは、Dev のローカル マシンで行う必要はありませんでした。そのため、親ウェブサイトの appool を使用し、少なくとも何かを実行しています - 別のエラーが発生します。これは正しくないように思えますが、なぜ Web サイト appool で処理されないのでしょうか? .svc をルート ( http://www.pokerdiy.com/test.svc ) に移動して、式からこれを削除しました)。

私が試したその他のこと: モジュール runAllManagedModulesForAllRequests="false" を "true" に変更する (私の web.config ではfalseです) %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir WCF in IIS 5.1 IIS で .net 4 WCF サービスを実行しているときに、プレーン テキスト ファイル 404 として機能する (svc ファイルなし)

4

3 に答える 3

0

私のホスティング プロバイダーは、Web サイトの下のディレクトリ ("/framework") を仮想ディレクトリとして構成し、親 AppPool を使用する必要があると言っています。

これを行うと、svc が処理されているように見えます (そして、別の .NET エラーのセットが発生します)。

ただし、私の開発環境では、サブフォルダーは別の仮想ディレクトリではありません。そうする必要がありますか?

于 2011-12-20T02:46:32.177 に答える