我在我的項目中創建了WCF REST樣式服務。在發展中,我能指定相對URL來訪問我的服務,WCF REST服務地址
jQuery.ajax({
url: "/WebServices/AddressWebService.svc/GetCountry",
datatype: "json",
success: function (data) {
jQuery.each(data.GetCountryResult, function (index, value) {
//value.entityData.CountryGuid
//value.entityData.CountryName
$('#dataCountry').empty();
$('#dataCountry').append('<option value="' + value.entityData.CountryGuid + '">' + value.entityData.CountryName + '</option>');
});
}
});
當我主持到IIS(與端口81),根文件夾名C2C,我不再能夠訪問該服務
使用fire bug,我試圖看到標題,我的相對URL(「/WebServices/AddressWebService.svc/GetCountry)被追加到我的主機(localhost:81),但虛擬文件夾名稱(c2c)未被追加。因此它顯示文件沒有發現異常
如果我使用完全限定的url(http:// localhost:81/c2c/WebServices/AddressWebService.svc/GetCount ry),它工作正常。
如果我使用完全合格的網址,那麼在轉移到生產時很難做出更改。雖然我們可以使用全局變量來存儲根目錄(在這種情況下,C2C)
是否有任何簡單的解決方案來解決這個問題,我也config文件
<system.serviceModel>
給出的基址
</binding>
</webHttpBinding>
</bindings>
<services>
<service name="c2c.WebServices.AddressWebService" behaviorConfiguration="jsonBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost:81/c2c"/>
</baseAddresses>
</host>
<endpoint address="" binding="webHttpBinding" bindingConfiguration="webmax" contract="c2c.WebServices.IAddressWebService" behaviorConfiguration="jsonendpointBehavior" />
<endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />
</service>
</services>
tilde URI前綴是一個ASP.NET特定的事情,OP不使用ASP.NET,所以如果這能夠工作,它會讓我感到驚訝。 – 2011-04-23 13:03:06
它試圖解析頁面/控件的url,即使它不能解析url – Idris 2011-04-24 03:59:47