我正嘗試使用一個.aspx,.asmx和.svc文件分別託管一個簡單的應用程序。我跟着的帶領下實現了主機(因爲我是很新的Linux世界,過了好一會兒去了解它!):Mono上的WCF主機問題
http://www.mono-project.com/Mod_mono#Manual_Mod_Mono_Configuration
所有的主機後,我能夠訪問aspx和asmx文件。但是,當我嘗試訪問svc文件時,出現以下錯誤:
ServiceHost必須至少有一個由配置,行爲或對AddServiceEndpoint的調用定義的應用程序端點(不包括元數據交換端點)方法。
或
HttpListenerContext不匹配任何註冊信道
我有我的web.config中定義一個非常簡單的服務端點,看起來象下面這樣:
<system.serviceModel>
<services>
<service name="TestWCFService">
<endpoint address="http://localhost/MonoTest/TestWCFService.svc" binding="basicHttpBinding"
contract="MonoTest.ITestWCFService"></endpoint>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
你能告訴我我做錯了什麼嗎?
注:我使用MS VS 2010創建該項目,然後發佈它。發佈的目錄被複制到Apache/Linux環境。 WCF不使用任何複雜類型。我正在使用單聲道版本2.8.2
更新 更新:我試過使用2.10.2單聲道。此錯誤是過去了,我現在面臨一個新問題:
XmlSchema error: Named item http://tempuri.org/:DoWork was already contained in the schema object table. Consider setting MONO_STRICT_MS_COMPLIANT to 'yes' to mimic MS implementation. Related schema item SourceUri: , Line 0, Position 0.
請嘗試添加鏈接的相關部分到您的答案。添加外部鏈接不是首選,因爲它可能無法被所有用戶訪問。 –