我使用 .Net 的 Scriptmanager 向我的客户端 javascript 公开一个 Web 服务,如下所示:
<asp:ScriptManager ID="scriptMgr" runat="server">
<services>
<asp:servicereference Path="RmUiControlDataSVC.svc" />
</services>
</asp:ScriptManager>
在我的 javascript 中,我可以这样称呼它:
var service = new RmUiControlDataSVC();
当我从本地服务器运行它时,它工作正常,我可以在其中运行方法。当我使用远程部署并连接到我的站点时,它也会运行http:
。(在我的站点上工作http://myserver/msftqa/RmMain.aspx)但是,当我尝试使用https:
(https: //mysite.com/msftqa/RmMain.aspx)。现在,当我尝试访问服务的方法时,我得到一个
503服务不可用
通过 Firebug 检查显示我的 Svc 正在尝试使用http:
而不是绑定,https:
并且无法找到该服务。这是 web.config 的相关部分
<service name="Company.App.RM.RmUiControlDataSVC">
<endpoint address="" behaviorConfiguration="Company.App.RM.RmUiControlDataAspNetAjaxBehavior"
binding="webHttpBinding" contract="Company.App.RM.RmUiControlDataSVC" />
</service>
有没有一种方法可以告诉服务https:
在通过 https 连接时使用,但在使用连接时仍然可以使用http:
?