在GoDaddy上部署WCF服务时出现“Baseaddress not found”-error

时间:2010-08-28 18:29:55

标签: ajax wcf ssl web-config webhttpbinding

我正在尝试部署一个WCF服务,但是我很难让最后的部分工作。我不是任何部署大师,所以请耐心等待。

我正在使用WebHttpBinding使用JSON对服务进行Ajax调用,但是我收到错误:“找不到与绑定WebHttpBinding的端点的scheme 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>

我做了很多改变并尝试了很多选项,但老实说,我忽略了我正在做的事情的概述。我希望你能找到让它全部发挥作用的微小错误。

谢谢。

2 个答案:

答案 0 :(得分:0)

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

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

我认为你不需要跟踪/ - 但我认为这不会导致问题。

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

答案 1 :(得分:0)

错误是由我犯下的愚蠢错误造成的。 我的DNS还没有设置,所以我使用了GoDaddy的“预览DNS”功能,让我可以在设置DNS之前查看网站。我应该使用mydomain.com时使用预览地址(mydomain.com.previewdns.com)。

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