WCF AddServiceEndpoint не может найти атрибут ServiceContract - PullRequest
1 голос
/ 29 марта 2019

У меня есть серверный код, который был отложен на некоторое время, и я вернулся, чтобы проверить его.

Мы создаем ServiceHost в классе и добавляем конечные точки к ServiceHost.Когда мы добавляем конечную точку, мы получаем исключение:

[атрибут ServiceContract не может быть найден.]

Но атрибут есть, и я добавил код вполучить атрибуты и проверить, что это там.

 public static void AddEndPoint ( ServiceHost host, string url, Type implementsType )
 {
    var binding = CreateBinding( url );



    var attrs = implementsType.GetCustomAttributes ( false );

    host.AddServiceEndpoint ( implementsType, binding, url );
}

[ServiceContract]
public interface IHelloWorldService
{
    [OperationContract]
    string SayHello ( string name );
}

Я создал пример sln , который отлично работает, когда все библиотеки являются библиотеками .net framework.

В обычном sln наши сервисные интерфейсы находятся в .net стандартной библиотеке 2.0 , наши сервисы находятся в .net Framework иПроект, создающий хост службы, - это .net Framework Library .Я не могу понять, почему, если атрибут присутствует при просмотре в массиве attrs, и все же AddServiceEndPoint не находит его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...