2010-03-30 115 views
0

什麼方式最有意義?我有一個ASP.NET應用程序...也許在未來的Silverlight應用程序..我想同時與網絡服務..WCF項目與現有網站項目中的文件夾?

起初,我喜歡有WCF項目由它自我分離..

但是後來我想..因爲我可以很容易地擁有一個'WEBSERVICES'文件夾,其中包含EXISTING網站項目中的所有.svc文件和代碼。 ...至少這一點..部署到遠程主機將是一件容易一點,因爲一切都在一個項目..

任何其他的考慮?

回答

0

爲什麼不能有:在Contracts裝配

  • WCF服務和數據契約
  • WCF服務的實現在Services裝配
  • 引用從您的網站或網絡應用程序
  • 這兩個組件
  • 將* .svc文件放入WebServices目錄中

這樣,你有顧慮

  • 部署文件(* .SVC)在您的網站/ Web應用程序,只要你想
  • 你仍然可以擴展/使用

    • 乾淨,並很好地組織分離您的WCF代碼以其他方式(例如自託管),後來就沒有太多的大驚小怪
  • 0

    兩件事情要考慮:

    安全 - 是您的服務只是要你的應用程序中使用,或者他們有在其他地方使用的潛力(畢竟他們是服務)。如果是這樣,您將授予對您的應用程序的訪問權限,以授予對您的Web服務的訪問權限,或至少調整對特定文件夾的訪問權限,這可能會導致安全漏洞。

    部署 - 如果您在服務上進行了不會中斷合同的更改,爲了部署更改,您必須部署整個應用程序。

    我傾向於採用Marc提出的方法(例如,有一個用於合同的程序集,一個用於服務實現),並將webservice作爲自己的應用程序託管並從ASP.NET應用程序中引用它。通過這種方式,您可以正確分離關注點並分別維護兩者。

    相關問題