我有一種簡單的WCF Rest服務。接口被定義爲:當我調用REST方法時,它會詢問我是否要下載文件
[ServiceContract]
public interface IHelloRest
{
[OperationContract]
[WebGet(UriTemplate = "json/hello/{name}", ResponseFormat = WebMessageFormat.Json)]
string Hello(string name);
}
實現被定義爲:
public string Hello(string name)
{
return string.Format("Hello {0}. You called my Hello method", name);
}
我部署此服務IIS 7的Windows Server 2008上運行,這裏是我沒有添加服務的步驟:
- 我開始IIS管理器
- 我右鍵點擊網站,並選擇添加網站...
- 我把「測試」的站點名稱
- 應用程序池,我選擇ASP.NE V4.0
- 對於物理路徑,我把我的服務的根文件夾。
- 綁定,我把HTTP,我離開了IP地址未分配,我離開港口的80
- 我沒有給一個主機名
- 我離開開始網站立即檢查。
- 我點擊確定,然後瀏覽到我的網站。
做上述步驟後,還有我遇到的幾個問題:
當我瀏覽到http://localhost/HelloRestService.svc/json/hello/xaisoft,它問我,如果我要下載的文件。如果我下載並打開它,它包含json格式的響應。在我的本地機器上,當我在IIS中託管它時,它運行良好,但在此遠程機器上,它只詢問我是否要下載該文件。
另一個問題是,我不希望主機是本地主機,我想要的東西像demo.rest.com,所以我會瀏覽到http://demo.rest.com/json/hello/xaisoft,但如果我將主機更改爲demo.rest.com和嘗試瀏覽現在的服務,它試圖去:
http://demo.rest.com/HelloRestService.svc,但表示Internet Explorer無法顯示該網頁。
當你看着小提琴手的反應時,你會發現什麼不同?特別是,狀態碼,內容類型,內容處置標題和內容本身有什麼不同? – 2010-09-30 02:28:12