WCF服务支持文件jsdebug无法加载

时间:2008-09-12 14:53:20

标签: asp.net wcf javascript-debugger

我有一个从客户端JavaScript调用的WCF服务。调用失败,Service为null JavaScript错误。 WebDevelopment帮助程序跟踪显示加载jsdebug支持文件的调用导致404(找不到文件)错误。

在web.config中的编译标记上重新启动IIS或清除Temp ASP.Net文件或设置batch =“false”无法解决问题

从浏览器

https://Myserver/MyApp/Services/MyService.svc显示服务元数据

然而

https://Myserver/MyApp/Services/MyService.svc/jsdebug会产生404。

问题似乎与https协议有关。使用http / jsdebug下载支持的JS文件。

有什么想法吗?

TIA

3 个答案:

答案 0 :(得分:12)

想出来了!

以下是web.config

中的服务配置部分

查看端点上的bindingConfiguration属性。值“webBinding”指向绑定中的绑定名称=“webBinding”标记,这就是告诉服务使用HTTPS的传输级安全性。在我的情况下,属性值为空,导致通过HTTPS对/ js或/ jsdebug文件的webservice请求失败并抛出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属性应为空(“”)

希望这有助于某人。

答案 1 :(得分:0)

如果在完成所有可能的工作后仍然出现相同的错误。只需添加“启用AJAX的WCF服务”。

答案 2 :(得分:0)

对我来说,问题如下:我们将MVC添加到带路由的解决方案中。我们的WCF服务没有被忽视。我通过添加以下规则解决了这个问题(其中&#34; WCF&#34;是我们保留服务的文件夹)。

routes.IgnoreRoute("WCF/{*pathInfo}");

希望能节省几个小时。