svcutil.exe проблема с именем конфигурации - PullRequest
1 голос
/ 09 декабря 2011

Я обновляю ссылку на сервис 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, культура = нейтральная, PublicKeyToken = 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);
        }
    }
}

Я использую этот сервис в своем проекте библиотеки классов, имя которого - ClassLibrary1.Когда я обновляю этот сервис через visual studio, тогда в Reference.cs я получаю следующее утверждение:

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

Но когда я обновляю сервис через svcutil, я получаю следующее утверждение:

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

Разница заключается в имени конфигурации.Я не понял, какую команду использовать в svcutil для установки имени конфигурации, как ServiceReference1.IService1 ?

Пожалуйста, помогите.

1 Ответ

1 голос
/ 10 февраля 2012

Просто изменив [ServiceContract] на [ServiceContract(Name="ServiceReference1.IService1", ConfigurationName="ServiceReference1.IService1")].Смотрите этот блок пост .

...