2014-10-30 112 views
0

在解決方案,名稱空間和WCF服務中使用相同的名稱是一件大事嗎?合同名稱與命名空間名稱相同,有什麼大不了的?

這是項目我的結構,

Solution Fruits (7 projects) 
    Fruits.Project1 
    Fruits.Project2 
    .... 
    Fruits.Internal.WebServices 
    IFruits.cs 
    Fruits.cs 

web.config 

的web.config

<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 
<configuration> 
    <system.serviceModel> 
    <services> 
     <service name="Fruits.Internal.WebServices.FruitsJuicer" behaviorConfiguration="myBehavior"> 
     <endpoint address="" binding="basicHttpBinding" contract="Fruits.Internal.WebServices.IFruitsJuicer" bindingConfiguration="tooty_BasicHttpBinding"/> 
     <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"/> 
     </service> 
    </services> 

    <bindings> and so on.... 


    <service name="Fruits.Internal.WebServices.Fruits" 

在瀏覽器中我得到這個錯誤

合同名稱「水果。 Internal.WebServices.Fruits'在服務'Fruits'實施的合同列表中找不到。

'name'屬性無效 - 值'Fruits.Internal.WebServices.Fruits'根據其數據類型'serviceNameType'無效 - Enumeration約束失敗。

服務代碼

namespace Fruits.Internal.WebServices 
{ 
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 
    public class FruitsJuicer 
    { 
     public void GetFruitJuice(Details d) 
     { 
      typedDataAccess da = new typedDataAccess(); 
      da.AddRequest(d); 
     } 
    } 
} 
+0

總之,沒有。人們一直這樣做。 – 2014-10-30 09:50:34

+1

你有可能發佈你的服務嗎? – kha 2014-10-30 10:07:18

+0

現在就像你說的那樣添加它,謝謝 – Mathematics 2014-10-30 10:56:55

回答

1

它一般不被認爲是很好的做法,名類相同的命名空間 - 爲你風不得不更經常資格的班級代碼編譯器有一件事沒有說出命名空間和類之間的區別。

此外,您可能想要根據其功能考慮命名和名稱的含義。我知道你上面的例子是做作,但是,例如:

Solution Fruits (7 projects) 
    Fruits.Project1 
    Fruits.Project2 
    .... 
    Fruits.Internal.WebServices 
    IFruitJuicer.cs 
    FruitJuicer.cs //Methods for juicing fruits. 
        //Just calling it Fruits is a bit generic. 

要真正回答你最初的問題,您的類(Fruits)沒有實現你的接口(IFruits)。像這樣改變:

public class FruitsJuicer :IFruits 
{ 
    public void GetFruitJuice(Details d) 
    { 
     typedDataAccess da = new typedDataAccess(); 
     da.AddRequest(d); 
    } 
} 
+0

感謝paddy,但是我不能理解我得到的警告和錯誤的原因,即使編譯器無法識別它們,它可能會使用層次結構 – Mathematics 2014-10-30 10:02:26

+0

我改變了它到果汁榨汁機我仍然得到相同的警告和錯誤 – Mathematics 2014-10-30 10:32:32

+0

請參閱kha對您的問題的評論 - 您可以發佈您的服務代碼嗎? – Paddy 2014-10-30 10:48:37

相關問題