2013-05-31 173 views
0

我有一個WCF Webservice項目,內置在我的本地機器上,當使用測試客戶端託管並觸發時,將以遠程數據庫的格式返回值JSON從遠程服務器託管WCF Web服務

例如,如果你在URL與本地主機鍵,那麼你得到的結果早在以下格式:

{ 「ID」:3, 「值1」: 「67.5687」, 「值2」:」 126.7125「}

我想在遠程服務器上使用公共URL來託管此項目,該項目應該從任何網絡返回上述結果。我有3個關於此問題的問題:

**我應該對我當前的WCF項目進行哪些修改以在遠程服務器上託管它。

**鑑於各種類型託管等:

1) windows process activation services (WAS) 
2) IIS 
3) Self hosting 
4) Hosting in a Windows service, 

其託管的類型是最適合用於託管在遠程服務器上。

**我應該在我的App.Config文件中進行哪些更改(包括從本地主機到IP地址的端點地址更改)以使服務正常工作。

謝謝。

回答

1

1)您不應該僅僅因爲想要將代碼託管在另一臺計算機上而需要對項目進行任何更改。我覺得這是一個奇怪的問題。

2)鑑於您選擇JSON作爲數據格式和瀏覽器作爲測試客戶端,我猜你想通過HTTP使用簡單的GET請求使其可用。在Microsoft堆棧中,IIS是Web服務器,並且是此場景的自然選擇。

3)很難回答。我不知道你今天的app.config裏有什麼。我不知道你是否要認證,如果是的話,如何。我不想知道!也就是說,在我看來,如果所有事情都應該像你的開發盒一樣行事,那麼綁定已經可以。我不記得一個WCF服務是否需要了解它本身的端點(很難理解爲什麼它需要知道這個)。我認爲在主機上進行這種配置更自然,例如, IIS。 客戶端當然應該使用指向您承載服務的任何位置的不同端點。 (你可以在app.config中放置許多端點,讓用戶選擇一個,順便說一句)。

我認爲我們大多數人不時反對以下建議,但這是我能給出的最好建議:閱讀書。儘可能多地瞭解你正在使用的東西,在這種情況下WCF。你會在稍後回來,並且你的軟件不會太壞!