2013-08-18 5 views
6

この問題は、公開後に一見ランダムに発生します。 サイトは正常に動作します。そしてbam、webconfigの解析中にこのエラーが発生します。私はちょうど再発行し、もう一度少しうまく動作します。パブリッシュするときに、既存のファイルを削除するためにボックスにチェックマークを付けて、ゴミ捨てるべきではありません。Web Azueの断続的なアイデンティティエラー

これは、Yahoo!と統合された.net 4.5とAzure Access Control Service(ACS)を使用したMVC4プロジェクトです。このエラーはYahooからリダイレクトするときに発生します。この方法は毎回起こっていますが、私は、4.5.1アイデンティティとアクセスVisual Studioの統合のバグがあった場所(今はもちろん見つけられません)を見つけました。私は以前のバージョンに行きましたが、今は時々だけです。

ID8030: 'type'プロパティの値を解析できませんでした。
'<issuerNameRegistry type="System.IdentityModel.Tokens.ValidatingIssuerNameRegistry, System.IdentityModel.Tokens.ValidatingIssuerNameRegistry"><authority name="[my authority]"><keys><add thumbprint="[print]" /></keys><validIssuers><add name="[issuer]" /></validIssuers></authority></issuerNameRegistry>'のtype属性が正しいことを確認してください。

上記のエラーメッセージでは、この記事の角括弧([])内の項目を置き換えました。ここで

は、スタックトレースです:

[TypeLoadException: ID8030: The value of the 'type' property could not be parsed. *** element is correct.] 
System.IdentityModel.Configuration.TypeResolveHelper.Resolve(ConfigurationElementInterceptor customTypeElement, Type customType) +602659 
System.IdentityModel.Configuration.IdentityConfiguration.GetIssuerNameRegistry(IssuerNameRegistryElement element) +114 
System.IdentityModel.Configuration.IdentityConfiguration.LoadHandlerConfiguration(IdentityConfigurationElement element) +841 
System.IdentityModel.Configuration.IdentityConfiguration.LoadConfiguration(IdentityConfigurationElement element) +117 
System.IdentityModel.Configuration.IdentityConfiguration..ctor(String identityConfigurationName) +180 
System.IdentityModel.Services.Configuration.FederationConfiguration.LoadConfiguration(FederationConfigurationElement element) +392 
System.IdentityModel.Services.Configuration.FederationConfiguration..ctor(Boolean loadConfig) +94 
System.IdentityModel.Services.FederatedAuthentication.CreateFederationConfiguration() +71 
System.IdentityModel.Services.FederatedAuthentication.get_FederationConfiguration() +85 
System.IdentityModel.Services.HttpModuleBase.Init(HttpApplication context) +56 
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +418 
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +172 
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +336 
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +296 

[HttpException (0x80004005): ***... element is correct.] 
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9873784 
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +101 
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +254 
+0

これは正確ではありませんあなたの質問に対する答えですが、それでもあなたを助けるかもしれません。 Thinktectureのアイデンティティモデルラッパーの使用を検討しましたか?私はそれでうまくいっています。そして、あなたは設定の問題からあなたを奪うかもしれないコアの.netコードよりもプログラム的に多くの設定を行うことができます。 [アイデンティティモデルナゲットパッケージ](http://www.nuget.org/packages/Thinktecture.IdentityModel) – Nathan

+0

ありがとう、私はそれを試して、それがどうなるか見てみましょう。いいね :) – MPavlak

答えて

2

私は同じ問題に遭遇したが、それは散発的な、私のために一定ではないので、おそらく別の根本的な根本問題でした。

私は私のMVC 4プロジェクトで、次のNuGetパッケージをインストールすることによってものの、問題を解決することができました:これは、新しいMVC 4プロジェクトにデフォルトで追加された場合 http://www.nuget.org/packages/System.IdentityModel.Tokens.ValidatingIssuerNameRegistry/

私は覚えていないことができます。私はある時点でそれを削除していたので、問題を解決した再インストールを削除している可能性があります。いずれにしても、上記のパッケージを追加することで、MVS 4プロジェクトをACSで正しく動作させることができました。

あなたのためにもうまくいきます。

17

ローカルで実行しているときに同じ問題が発生しました。私はHow-Toをここで見つけました:http://msdn.microsoft.com/en-us/library/jj161104.aspxとそのアセンブリでタイプが見つかりませんエラーを取得します。

私はNuGetを介してアセンブリをプルダウンし、さらにアンインストールして再インストールしたことを確認しました。 を覚えて、あなたはNuGetを経由して、これをプルダウンなかった、あなたはまだ問題がある場合は基本的に、

のでSystem.IdentityModel.Tokens.ValidatingIssuerNameRegistryに不足している参照に煮詰めNuGetは、このパッケージをドロップしたときに、それがすることファイルシステムの解決策レベルにあるパッケージフォルダに入れてください。

プロジェクトリファレンス、[参照の追加、System.IdentityModel.Tokens.ValidatingIssuerNameRegistryへの参照を表示するプロジェクトを右クリックして、プロジェクトにアセンブリを追加し、選択しない場合は、[参照]ボタンをクリックし、[参照パッケージフォルダまで、dllファイル([Your Solution Root]パッケージ\ System.IdentityModel.Tokens.ValidatingIssuerNameRegistry.4.5.1 \ lib \ net45)を見つけて追加します。

こちらがお役に立てば幸いです。

0

私はちょうど同じ問題を抱えていました。これを解決する1つの方法は、他のポストで指定されたDLLへの参照を追加することです。

別のオプションは、コアの.NET Framework 4.5で使用可能なクラスを使用しています。この1のセクションを、交換することです(あなたもSystem.IdentityModelへの参照を追加する必要があります):

<issuerNameRegistry type="System.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
    <trustedIssuers> 
    <add thumbprint="[print]" name="[issuer]" /> 
    </trustedIssuers> 
</issuerNameRegistry>