2014-10-30 113 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

相关问题