WCF服务支持文件jsdebug加载失败
时间:2020-03-05 18:52:16 来源:igfitidea点击:
我有一个从客户端JavaScript调用的WCF服务。调用失败,服务为null JavaScript错误。 WebDevelopment帮助程序跟踪显示,加载jsdebug支持文件的调用导致404(找不到文件)错误。
重新启动IIS或者清除Temp ASP.Net文件或者在web.config中的编译标记上设置batch =" false"均不能解决问题。
从浏览器
https://Myserver/MyApp/Services/MyService.svc显示服务元数据
然而
https://Myserver/MyApp/Services/MyService.svc/jsdebug结果为404.
问题似乎出在https协议上。使用http / jsdebug下载支持的JS文件。
有任何想法吗?
TIA
解决方案
回答
弄清楚了!
这是来自web.config的服务配置部分
查看端点上的bindingConfiguration属性。值" webBinding"指向绑定中的绑定名称=" webBinding"标记,这就是告诉服务对其HTTPS使用传输级安全性的原因。在我的情况下,该属性值为空,导致通过HTTPS对/ js或者/ jsdebug文件的Web服务请求失败并引发404错误。
<services> <service name="MyService"> <endpoint address="" behaviorConfiguration="MyServiceAspNetAjaxBehavior" binding="webHttpBinding" bindingConfiguration="webBinding" contract="Services.MyService" /> </service> </services> <bindings> <webHttpBinding> <binding name="webBinding"> <security mode="Transport"> </security> </binding> </webHttpBinding> </bindings>
请注意,如果通过http而不是https访问服务(在没有证书的本地计算机上进行测试时),则bindingConfiguration属性应为空("")。
希望这对某人有帮助。