2011-12-09 80 views
1

我正在通過SvcUtil.exe更新我的wcf服務參考。 命令如下:svcutil.exe配置名稱問題

svcutil.exe的http://localhost:50886/Service1.svc /n:*,ClassLibrary2.ServiceReference1/O:服務引用\ ServiceReference1 \ Reference.cs /ct:System.Collections.Generic.List`1,mscorlib程序,版本= 2.0.0.0,文化=中性公鑰= b77a5c561934e089 /config:app.config

而且我的WCF的代碼如下:

================= =============================================

namespace WcfService1 
{ 
    [ServiceContract] 
    [ServiceKnownType(typeof(Dictionary<string, string>))] 
    public interface **IService1** 
    { 
     [OperationContract] 
     string GetData(int value); 
     // TODO: Add your service operations here 
     [OperationContract] 
     string Hello(string value); 
    } 
} 



namespace WcfService1 
{ 

    [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)] 
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 

    public class Service1 : IService1 
    { 
     public string GetData(int value) 
     { 
      return string.Format("You entered: {0}", value); 
     } 

     public string Hello(string value) 
     { 
      return string.Format("You entered: {0}", value); 
     } 
    } 
} 

我是usi這個服務在我的類庫項目中名爲ClassLibrary1。當我在Reference.cs更新通過Visual Studio這個服務的話,我有如下語句:

[System.ServiceModel.ServiceContractAttribute(ConfigurationName="**ServiceReference1.IService1**")] 
public interface IService1 

但是,當通過SvcUtil工具米的更新服務,然後我得到了下面的語句:

[System.ServiceModel.ServiceContractAttribute(ConfigurationName="**ClassLibrary2.ServiceReference1.IService1**")] 
public interface IService1 

不同的是配置名稱。我不明白我應該在svcutil中使用哪個命令來設置配置名稱,就像ServiceReference1.IService1

請幫忙。

回答

1

只需將[ServiceContract]更改爲[ServiceContract(Name="ServiceReference1.IService1", ConfigurationName="ServiceReference1.IService1")]即可。請參閱this block post