Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net web api Asp.net Webapi CORS与Thinktecture.IdentityModel_Asp.net Web Api_Thinktecture Ident Model - Fatal编程技术网

Asp.net web api Asp.net Webapi CORS与Thinktecture.IdentityModel

Asp.net web api Asp.net Webapi CORS与Thinktecture.IdentityModel,asp.net-web-api,thinktecture-ident-model,Asp.net Web Api,Thinktecture Ident Model,我正在研究使用ThinkStructure.Identitymodel解决Asp.net Webapi CORS问题,如本URL中所述 我将VS2012与.Net 4.5一起使用 我在这里遇到了几个问题: 1) 这就是我在提出请求时遇到的错误 试图以与数组不兼容的类型访问元素 在执行当前操作期间发生未处理的异常 网络请求。有关详细信息,请查看堆栈跟踪 错误及其在代码中的起源。 System.ArrayTypeMismatchException:尝试作为 类型与数组不兼容 [ArrayTypeM

我正在研究使用ThinkStructure.Identitymodel解决Asp.net Webapi CORS问题,如本URL中所述

我将VS2012与.Net 4.5一起使用 我在这里遇到了几个问题:

1) 这就是我在提出请求时遇到的错误

试图以与数组不兼容的类型访问元素 在执行当前操作期间发生未处理的异常 网络请求。有关详细信息,请查看堆栈跟踪 错误及其在代码中的起源。 System.ArrayTypeMismatchException:尝试作为 类型与数组不兼容

[ArrayTypeMismatchException:尝试作为类型访问元素 与阵列不兼容。]
System.Collections.Generic.List`1.Insert(Int32索引,T项)+62
Galaxy.CorsConfig.RegisterCors(HttpConfiguration配置)+99
Galaxy.WebApiApplication.Application_Start()+377

[HttpException(0x80004005):尝试作为类型访问元素 与阵列不兼容。]
System.Web.HttpApplicationFactory.EnsureStartCalledForIntegratedMode(HttpContext 上下文,HttpApplication应用程序)+12864673
System.Web.HttpApplication.registereventsubscriptionswithis(IntPtr appContext、HttpContext、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上下文)+12881540 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext上下文) +159 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr,HttpContext)+12722601

我的应用程序池指向Microsoft.NET Framework版本:4.0.30319;ASP.NET版本:4.0.30319.17929

2) 我的第二个问题是在做了WebApi中提到的事情之后。我仍然需要为IIS添加HTTPmodule吗

这应该很容易开始。我不知道我错过了什么。 非常感谢您的指点


谢谢。

我发现我的程序集版本不匹配。我的实际项目是在.NET4.0中,Thinktecture是在.NET4.5中


有一次我修复了它的工作原理。

我遇到了一个非常类似的问题,因为Thinktecture.IdentityModel.Web 1.4引入了HttpClient 0.6,它引用System.Net.Http*v2.0程序集,但MVC中的HttpHanders列表需要4.0。一旦我删除了Web pkg及其依赖项,事情就恢复正常了。

与Ben在上面的解决方案类似,Thinktecture.IdentityModel的v3.5.0出现了这个问题,因为在我的Web.config中引用了旧版本的System.Net.Http(2.2.13.0),并安装在bin文件夹中

从my web.config中删除dependentAssembly绑定并删除旧的System.Net.Http.dll解决了问题


这是针对一个.NET 4.5项目的。

我遇到了相同的错误,尽管我正在试用WebApiSecurity示例。当我运行样本时,它运行良好。当我创建一个新项目时,将其更改为4.5并尝试将AuthenticationHandler添加到MessageHandler中,我会收到相同的错误“尝试以与数组不兼容的类型访问元素”。根本找不到任何差异,在我的项目和样本。