我尝试将the CORS headers添加到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工作?
答案 0 :(得分:1)
您有错误,因为定义的类型错误:您丢失了类型的名称空间。
<add name="crossOriginResourceSharingBehavior" type="MyWebSite.EnableCrossOriginResourceSharingBehavior, MyWebSite, Version=0.0.0.0, Culture=neutral" />
可能版本错误,因为它在定义中等于0.0.0.0
。有关装配版本,请参阅AssemblyInfo.cs
。
我看到程序集没有强名。因此,您可以从定义中删除版本和文化。
<add name="crossOriginResourceSharingBehavior" type="MyWebSite.EnableCrossOriginResourceSharingBehavior, MyWebSite" />