簡體   English   中英

WCF服務文件不可見

[英]WCF service file not visible

我們現有的WCF服務帶有多個svc文件。

今天,突然之間,其中一個svc文件不再起作用:

  • 該頁面在IIS內容視圖中不可見(盡管其他svc文件是)
  • 導航到頁面時,返回404錯誤
  • 該文件存在,並且在Visual Studio的“解決方案資源管理器”中可見
  • 在不同的開發機器上,一切正常

為了解決此問題,我們嘗試了以下方法:

  • 成功創建並導航到另一個svc文件-這使我們認為IIS配置正確。
  • 刪除並重新添加有問題的頁面。 不工作。
  • 重新啟動機器
  • 重新啟動IIS

關於什么可能導致此的任何想法?

問題出在以下位置的IIS的applicationHost.config文件中: C:\\Windows\\System32\\inetsrv\\config

根據MSDN

使用IIS 7及更高版本時,ApplicationHost.config是配置系統的根文件。 它包括所有站點,應用程序,虛擬目錄和應用程序池的定義,以及Web服務器設置的全局默認值(類似於.NET Framework設置的machine.config和根web.config)。

因此,一旦打開文件(常規的xml配置文件),我們就會注意到應用程序的路徑直接指向svc文件,而不是文件夾位置。 像這樣:

<application path="/[APP NAME]" applicationPool="ASP.NET V4.0 Integrated">
  <virtualDirectory path="/" physicalPath="C:\Projects\[FOLDER PATH]\[APP NAME]\Service.svc" />
</application>

請注意physicalPath屬性(特別是Service.svc ):

path="/" physicalPath="C:\Projects\[FOLDER PATH]\[APP NAME]\Service.svc"

這就是導致問題的原因。

因此,我們要做的就是從路徑中刪除服務的名稱,並且一切正常。 像這樣:

<application path="/[APP NAME]" applicationPool="ASP.NET V4.0 Integrated">
  <virtualDirectory path="/" physicalPath="C:\Projects\[FOLDER PATH]\[APP NAME]" />
</application>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM