5

1.0.1.0 と 1.0.4.0 の両方で recaptcha.dll をダウンロードしました。コントロールをレンダリングしようとすると、次の例外が発生します。

セキュリティ例外の説明: アプリケーションは、セキュリティ ポリシーで許可されていない操作を実行しようとしました。このアプリケーションに必要な権限を付与するには、システム管理者に連絡するか、構成ファイルでアプリケーションの信頼レベルを変更してください。

例外の詳細: System.Security.SecurityException: タイプ 'System.Web.AspNetHostingPermission、System、Version=2.0.0.0、Culture=neutral、PublicKeyToken=b77a5c561934e089' のアクセス許可の要求が失敗しました。

スタック トレース:[SecurityException: タイプ 'System.Web.AspNetHostingPermission、System、Version=2.0.0.0、Culture=neutral、PublicKeyToken=b77a5c561934e089' のアクセス許可の要求が失敗しました。] System.Reflection.Assembly._GetType(String name, Boolean throwOnError, Boolean ignoreCase) +0 System.Web.UI.NamespaceTagNameToTypeMapper.GetControlType(String tagName, IDictionary attribs, Boolean throwOnError) +209

簡単なグーグルで提供されているように、これに対する解決策は、caspol.exe を使用して recaptcha.dll アセンブリに完全な信頼を追加することです。

C:\%path%\caspol -af C:\inetpub\wwwroot\%path%\bin\recaptcha.dll

この時点で、次のエラーが表示されます。

エラー: このアセンブリは厳密な名前で署名されていません

ソースコードをダウンロードしてローカルで再コンパイルする以外に、これを機能させる方法はありますか?

4

5 に答える 5

3

私は同じ問題に遭遇し、あなたの解決策が私を助けてくれました。また、reCAPTCHA ASP.NET ソース コードに対して次の手順を実行する必要がありました。

1) DLL プロジェクトの AssemblyInfo.cs ファイルを開き、次の using ステートメントを追加します。

System.Security を使用します。

2) AssembleInfo.cs に次の行を追加します。

[アセンブリ: AllowPartiallyTrustedCallers()]

3) dll を再コンパイルし、プロジェクトを再デプロイします。このエラーは解決する必要があります。

注: 私が取り組んでいる Web サイトは、ホスティング会社として 1and1.com を使用しています。また、HttpWebRequest 中のタイムアウト例外を回避するために、コード ビハインドで Proxy プロパティを設定する必要がありました。

recaptcha.Proxy = new WebProxy("http://ntproxyus.lxa.perfora.net:3128");

これが誰かの役に立てば幸いですが、今は 1and1.com でホストされている ASP.NET サイトで reCAPTCHA を実行しています。

于 2011-01-19T02:33:09.190 に答える
2

これと同じ問題がありました。何度かヘドバンした後、recaptcha.dll を zip ファイルからダウンロードしたことに気付きました。そのため、dll を右クリックし、プロパティに移動してブロック解除ボタンをクリックしました。

それは私にとって問題を解決しました。

于 2011-03-30T18:00:14.483 に答える
0

IISで[アプリケーションプール]に移動し、プロジェクトに移動します。右クリックして[詳細プロパティ]を選択し、LoadUserProfileをTrueに設定します。

于 2012-02-10T20:26:24.603 に答える
0

ダウンロード可能な署名されていないdllを使用してこれを機能させることができなかったので、ソースを入手し、自分でコンパイルして署名しました。これは正常に機能します。

途中のどこかで、私がこれをしなければならないかもしれないと何かが示していたら、それは素晴らしいことだったでしょう...

于 2010-11-11T13:39:13.720 に答える