我正试图将CORS标头添加到WCF服务中,该服务是VS 2012中预编译网站项目的一部分。
错误
The type 'EnableCrossOriginResourceSharingBehavior, MyWebSite, Version=0.0.0.0, Culture=neutral' registered for extension 'crossOriginResourceSharingBehavior' could not be loaded.
从配置文件
<behaviors>
<serviceBehaviors>...</serviceBehaviors>
<endpointBehaviors>
<behavior name="jsonBehavior">
<webHttp />
<crossOriginResourceSharingBehavior /> <!-- Error Here -->
</behavior>
</endpointBehaviors>
</behaviors>
<extensions>
<behaviorExtensions>
<add name="crossOriginResourceSharingBehavior" type="EnableCrossOriginResourceSharingBehavior, MyWebSite, Version=0.0.0.0, Culture=neutral" />
</behaviorExtensions>
</extensions>
现在,在预编译的站点中显然没有MyWebSite.dll
。那么,我该如何克服这一点并使BehaviorExtension发挥作用呢?
您出现该错误是因为定义的类型错误:您丢失了该类型的namespace。
<add name="crossOriginResourceSharingBehavior" type="MyWebSite.EnableCrossOriginResourceSharingBehavior, MyWebSite, Version=0.0.0.0, Culture=neutral" />
可能版本是错误的,因为它在定义中等于0.0.0.0
。有关程序集版本,请参见AssemblyInfo.cs
。
我看到程序集没有一个强名称。因此,您可以从定义中删除"版本"one_answers"区域性"。
<add name="crossOriginResourceSharingBehavior" type="MyWebSite.EnableCrossOriginResourceSharingBehavior, MyWebSite" />