託管

2011-11-29 81 views
0

我尋覓了很多關於託管WCF的方法,並發現他們的工作,但是,在我的一個解決方案我有WCF Service Project(它與某些連接字符串的一個web.config)ASPX和WCF和ASPX.NET項目(也有一個web.config),請問任何人可以澄清我如何可以在網站上託管他們。託管

謝謝。

回答

1

您是否想要其他客戶端訪問此WCF服務?

如果沒有,只需將.svc文件保留在現有的Web應用程序中,並在需要時使用它。

如果是,將WCF項目作爲IIS,控制檯或WAS中的網站託管,並從您的aspx Web應用程序中引用它。

+0

我希望WCF也可以爲其他應用程序提供服務。現在,我正在一個免費主機上測試我的代碼,該代理給我一個子域,並且只有一個sql server db,在這種情況下,我該如何實現?感謝Praveen。 – surpavan

+1

在這種情況下,您可以將您的wcf服務作爲IIS上的網站託管。那麼任何Web應用程序都可以添加它的Web引用並使用它。 – PraveenLearnsEveryday

+0

因此,必須在另一個站點或子域中託管一個wcf,以便可以容納多個Web配置並且可以引用它們。謝謝。 – surpavan

1

託管WCF服務,你有以下幾種選擇:

  • 的WinForms應用
  • 控制檯應用程序
  • 的Windows服務
  • Web應用程序(ASP.NET)託管在Internet信息服務(IIS )
  • Windows Vista或Windows Server上的IIS 7.0和WAS中的WCF服務代碼名稱「Longhorn」

See here for more information on hosting a WCF service.

舉辦一個Asp.Net應用程序,我建議使用IIS,see here for how。但是,使用WSE也可以將其作爲Windows服務託管。 See here for how.

+0

謝謝。但是,這並沒有解決我的問題或我的理解。 – surpavan

1

其簡單,你只需要添加一個'.svc'文件到你的ASPX.net項目。例如Service1.svc

然後將下面的代碼添加到該文件

<%@ ServiceHost Language="C#" Service="WCFServiceProject.Main" %> 

的WCFServiceProject.Main是提供您的服務功能類的完全限定命名空間和名稱

你也需要在IIS中註冊svc擴展才能工作,如果你還沒有的話。別忘了將對WCF服務項目的引用添加到aspx.net項目中。

如果要動態地創建服務,然後看到我的問題的一些提示Creating wcf service within IIS in code

只是重讀更新(編輯)的問題。您需要將WCF服務項目的連接細節複製到您的asp.net項目中。

+0

感謝您的信息基思。但是,在構建WCF服務後,連接字符串不能在發佈的服務器上編輯,因爲它是DLL。根據你的建議,如果我將連接字符串添加到我的Aspx網站的Web配置中,它不會這樣工作,是嗎? – surpavan

+0

如果您的WCF項目是您的ASPX網站的一部分,那麼網站的web.config將成爲WCF項目的web.config。 WCF項目的配置文件被忽略。然後,您的WCF服務將讀取ASPX項目中定義的連接字符串。 –