2015-10-13 3 views
0

Configuration Я добавил ссылку на службу с именем, как ServiceReference2Лучший метод перегрузки имеет недопустимые аргументы

В то время как в ФОС serrvice я есть эти ниже код.

IShowDetails

namespace WcfService1 
{ 

    [ServiceContract] 
    public interface IShowDetails 
    { 
     [OperationContract] 
     List<UserDetails> DisplayDetails(UserDetails User); 

    } 
} 

ShowDetails

namespace WcfService1 
{ 
    public class ShowDetails:IShowDetails 
    { 
     SqlConnection con = new SqlConnection(WebConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString); 
     public List<UserDetails> DisplayDetails(UserDetails User) 
     { 
      //Code 
      return result; 
     } 
    } 

} 

я использовал эту ссылку на службу WCF для размещения веб-приложений. Где в Web.Config добавил

<endpoint address="http://localhost:8426/WcfService1/ShowDetails.svc" 
    binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IShowDetails" 
    contract="ServiceReference2.IShowDetails" name="BasicHttpBinding_IShowDetails" /> 

В настоящее время в одной из моей странице aspx.cs я есть эти символы.

ServiceReference2.ShowDetailsClient objDisplayUser = new ServiceReference2.ShowDetailsClient(); 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     UserDetails User = new UserDetails(); 
     List<UserDetails> result = objDisplayUser.DisplayDetails(User); 

    } 

Когда я сделать F12 (перейти к определению) для ShowDetailsClient (метаданным) я получаю эти строки

namespace ServiceReference2 
{ 
    [GeneratedCode("System.ServiceModel", "4.0.0.0")] 
    [DebuggerStepThrough] 
    public class ShowDetailsClient : ClientBase<IShowDetails>, IShowDetails 
    { 
     public ShowDetailsClient(); 
     public ShowDetailsClient(string endpointConfigurationName); 
     public ShowDetailsClient(Binding binding, EndpointAddress remoteAddress); 
     public ShowDetailsClient(string endpointConfigurationName, EndpointAddress remoteAddress); 
     public ShowDetailsClient(string endpointConfigurationName, string remoteAddress); 

     public UserDetails[] DisplayDetails(UserDetails User); 
    } 
} 

Так в моей странице aspx.cs я получаю ошибку

Лучший метод перегрузки имеет недопустимые аргументы.

Как я вижу общественного DisplayDetails List (UserDetails пользователь) и общественного UserDetails [] DisplayDetails (UserDetails пользователь); выглядит по-другому. Как преодолеть это?

+1

Когда вы добавляете ссылку на службу из visual studio, нажмите кнопку «Advance» и измените тип коллекции из System.Array в список – Hakunamatata

+0

. Я уже добавил, как изменить его сейчас? –

+0

удалить затем добавить новые –

ответ

0

Add Service Reference

Добавляя ссылку на службу, вы нажмите кнопку Дополнительно -> выбран System.Collections.Generic.List и показано на изображении ниже.

Смежные вопросы