2

我正在尝试部署 WCF 服务,但我很难让最后的部分工作。无论如何,我都不是部署专家,所以请多多包涵。

我正在使用 WebHttpBinding 使用 JSON 对服务进行 Ajax 调用,但我收到错误消息:“找不到与绑定 WebHttpBinding 的端点的方案 http 匹配的基地址。注册的基地址方案是 []。”。

这是我的 web.config 的片段:

<system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true">
      <baseAddressPrefixFilters>
        <add prefix="http://mysite.com/" />
      </baseAddressPrefixFilters>
    </serviceHostingEnvironment>
    <bindings>
        <webHttpBinding>
            <binding name="webHttp">
                <security mode="None">
                    <transport clientCredentialType="None"
                    proxyCredentialType="None"
                    realm="string" />
                </security>
            </binding>
        </webHttpBinding>
    </bindings>
        <services>  
      <service name="LicenseManager.LicenseService" behaviorConfiguration="ServiceAspNetAjaxBehavior">
        <endpoint address="" behaviorConfiguration="AjaxBehavior"
         binding="webHttpBinding" contract="LicenseManager.ILicenseService" />
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
        <host>
               <baseAddresses>
                    <add baseAddress="http://mysite.com/" />
               </baseAddresses>
          </host>
      </service>
    </services>
    <behaviors>
      <endpointBehaviors>
        <behavior name="AjaxBehavior">
          <enableWebScript/>
        </behavior>
      </endpointBehaviors>
      <serviceBehaviors>
        <behavior name="ServiceAspNetAjaxBehavior">
          <serviceMetadata httpGetEnabled="true" httpGetUrl="" />
          <serviceDebug httpHelpPageEnabled="true" includeExceptionDetailInFaults="true" />
        </behavior>
      </serviceBehaviors> 
    </behaviors>
  </system.serviceModel>

我做了很多改变并尝试了很多选择,以至于我真的失去了对我正在做的事情的概述。我希望你能找到让这一切正常工作的那个小错误。

谢谢你。

4

2 回答 2

0

您的站点是直接在 下运行http://mysite.com,还是在该站点下的 application/vdir 下运行?如果是这样,请在您的<baseAddressPrefixFilter>元素中添加应用程序:

  <baseAddressPrefixFilters>
    <add prefix="http://mysite.com/MyApplication" />
  </baseAddressPrefixFilters>

我认为您也不需要尾随/- 但我认为这不会导致问题。

希望这会有所帮助!让他们知道,我会相应地更新我的答案。

于 2010-08-29T00:14:07.087 回答
0

该错误是由我犯的一个愚蠢的错误引起的。我的 DNS 尚未设置,因此我使用了 GoDaddy 的“预览 DNS”功能,让我可以在设置 DNS 之前查看网站。当我应该使用 mydomain.com 时,我使用了预览地址 (mydomain.com.previewdns.com)。

我的不好,谢谢你的帮助!

于 2010-08-30T19:41:14.267 回答