.NET 4.0 Web アプリケーション プロジェクト内に WCF エンド ポイントがあります。VS2010 WCF テスト クライアントを使用すると、サービスに正しく接続できます。ただし、サービスを使用すると、一般的なエラー メッセージが表示されます。
コンテンツ タイプ text/html。応答メッセージの charset=UTF-8 がバインディングのコンテンツ タイプ (text/xml; charset=utf-8) と一致しません。カスタム エンコーダーを使用する場合は、IsContentTypeSupported メソッドが適切に実装されていることを確認してください。応答の最初の 1024 バイトは次のとおりです。
IIS Express でリクエストを確認したところ、次の結果が得られました。
リクエスト開始: POST http://machinename:port/Services/Services.svc
リクエスト開始: GET http://machinename:port/Services/Services.svc?AspxAutoDectectCookieSupport=1
要求が終了しました: HTTP ステータス 302.0 の「http://machinename:port/Services/Services.svc」
要求が終了しました: "http://machinename:port/Services/Services.svc?AspxAutoDectectCookieSupport=1" HTTP ステータス 302.0
要求が終了しました: "http://machinename:port/Services/Services.svc?AspxAutoDectectCookieSupport=1" HTTP ステータス 200.0
そのため、サービスに POST した後、サービスの標準 Web ページにリダイレクトされているようです。しかし、私が削除すると:
<authentication mode="Forms">
<forms cookieless="AutoDetect" loginUrl="~/Security/LoginClient.aspx" name="FORMAUTH" />
web.configから動作します。何が起こっているのですか?サービスが存在するフォルダーを認証から削除しようとしましたが (http://stackoverflow.com/questions/5593720/authentication-mode-forms-causing-errors-in-wcf-end-point)、問題はまだ残っています。
これは Visual Studio Development Server (Cassini) を使用して IIS Express 7.5 で実行すると機能しますが、認証の有無にかかわらず同じエラーが発生します。