0

このURLhttp ://brockallen.com/2012/06/28/cors-support-in-webapi-mvc-and-iis-with-で説明されているように、Thinktecture.IdentitymodelでAsp.netWebapiCORSの問題を解決することを検討しています。 thinktecture-identitymodel /

.Net 4.5でVS2012を使用しています。ここで、いくつかの問題が発生しています。

1)これは私がリクエストをしたときに遭遇するエラーです

配列と互換性のないタイプとして要素にアクセスしようとしました現在のWeb要求の実行中に、未処理の例外が発生しました。エラーとエラーがコードのどこで発生したかについての詳細は、スタックトレースを確認してください。System.ArrayTypeMismatchException:配列と互換性のないタイプとして要素にアクセスしようとしました。

[ArrayTypeMismatchException:配列と互換性のないタイプとして要素にアクセスしようとしました。]
System.Collections.Generic.List`1.Insert(Int32 index、T item)+62
Galaxy.CorsConfig.RegisterCors(HttpConfiguration config) +99Galaxy
。 WebApiApplication.Application_Start()+377

[HttpException(0x80004005):配列と互換性のないタイプとして要素にアクセスしようとしました。]
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context、HttpApplication app)+12864673
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext、HttpContext context、 MethodInfo []ハンドラー)+175
System.Web.HttpApplication.InitSpecial(HttpApplicationState状態、MethodInfo []ハンドラー、IntPtr appContext、HttpContextコンテキスト)+304
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext、HttpContextコンテキスト)+404
System.Web .Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)+475

[HttpException(0x80004005):配列と互換性のないタイプとして要素にアクセスしようとしました。]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context)+12881540 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context)+159System.Web。 HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr、HttpContext context)+12722601

私のアプリケーションプールはMicrosoft.NETFrameworkバージョン:4.0.30319を指しています。ASP.NETバージョン:4.0.30319.17929

2)私の2番目の質問は、WebApiで言及されていることを行った後です。IIS用のHTTPmoduleを追加する必要がありますか?

これを実行するのは非常に簡単なはずです。ここで何が欠けているのかわかりません。どんなポインタでも大歓迎です。

ありがとう。

4

3 に答える 3

1

Thinktecture.IdentityModel.Web1.4がSystem.Net.Http*v2.0アセンブリを参照するHttpClient0.6をプルしたため、非常によく似た問題が発生しましたが、MVCのHttpHandersリストには4.0が必要です。Web pkgとその依存関係を削除すると、動作に戻りました。

于 2013-01-09T22:11:45.820 に答える
0

アセンブリのバージョンの不一致があることがわかりました。私の実際のプロジェクトは.Net4.0で、Thinktectureは.Net4.5でした。

私がそれが機能することを修正したら。

于 2012-08-29T14:23:52.370 に答える
0

上記のBenのソリューションと同様に、この問題は、Thinktecture.IdentityModelのv3.5.0で発生しました。これは、古いバージョンのSystem.Net.Http(2.2.13.0)がweb.configで参照され、binフォルダーにインストールされているためです。

web.configからdependentAssemblyバインディングを削除し、古いSystem.Net.Http .dllを削除すると、問題が解決しました。

これは.NET4.5プロジェクト用でした。

于 2013-10-29T18:41:32.977 に答える