我正在尝试部署一个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>
我做了很多改变并尝试了很多选项,但老实说,我忽略了我正在做的事情的概述。我希望你能找到让它全部发挥作用的微小错误。
谢谢。
答案 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)。
我的不好,谢谢你的帮助!