C#/.NET Google+ サインイン クイック スタート プロジェクトを使用すると、IIS6 で問題が発生します。私が従った手順は次のとおりです。
- プロジェクトを Github からダウンロードした
- クライアント ID とクライアント シークレットを含むように index.html ファイルと signin.ashx ファイルを変更しました
- 私のマシンでプロジェクトを実行すると(Visual Studio 2010用の組み込みWebサーバーを使用)、正常に動作します
- IIS6 を使用して Windows 2003 サーバーに公開
- Web サイトのデフォルト ドキュメントとして「index.html」を追加
- 4.0 .NET フレームワーク用に構成されたアプリ プールを使用するように Web サイトを設定する
- Chrome からページにアクセスしようとしました
URL にページが指定されていないサイト ( https://myserver.com/gplussample/ ) にアクセスすると、Google+ サインイン ボタンが表示されます。これはうまく機能し、プロフィール写真やサークルなどを含むページに移動します.
ただし、「切断」ボタンをクリックしても何も起こりません。Chrome DevTools を使用してプロセスを調べると、次のエラーが表示されます。
POST https://myserver.com/gplussample//disconnect 404 (Not Found)
問題は//disconnect
-ページ名がないことです(Visual Studio 2010を使用して開発Webサーバーでアプリを実行しているときに機能するため、signin.ashxである必要があると思います)。
次に、ページ名を指定してサイトにアクセスしようとしました。
https://myserver.com/gplussample/signin.ashx
その結果、空白のページが表示され、Chrome DevTools を見ると、.ashx ハンドラーの 400 Bad Request エラーが表示されます。.ashx ハンドラーと「不正な要求」エラーの解決策を検索して検索しましたが、この特定のケースでは成功しませんでした。
IIS6 が原因だと考えて、サイトを IIS7 インスタンスに公開しました。
URL ( ) にページ名が指定されていないためhttp://localhost/gplusoriginal/
、「切断」ボタンで同じエラーが発生しました - アクションがなく、404 エラーが発生しました。
URL を に変更したところ、次のhttp://localhost/gplusoriginal/signin.ashx
エラーが表示されました。
Could not create type 'GPlus_ServerSideFlow.Signin'.
再び Google に戻り、.ashx ハンドラと IIS7 の問題を確認します。web.config に関する投稿とそこでのハンドラーの指定を見つけたので、それを試してみました。
<system.webServer>
<handlers>
<add name="GPlus_ServerSideFlow.Signin" path="*.ashx" verb="*"
type="GPlus_ServerSideFlow.Signin" resourceType="Unspecified" />
</handlers>
</system.webServer>
このスニペットを web.config に追加すると、「タイプを作成できませんでした」というエラーは解決されましたが、別の 400 Bad Request エラーが発生しました。
私の質問は次のとおりです。このサンプル プロジェクトを機能させるには、II6 または IIS7 で何をする必要がありますか? IIS の構成で完了する必要がある追加の手順はありますか? または、プロジェクト コードに欠けているものはありますか?
ありがとうございました