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属性应为空("")。

希望这对某人有帮助。