У меня раньше была эта ошибка для ServiceModel Framework 3.5, и я проверил файл конфигурации моего хоста. Я обнаружил, что это была моя ошибка вырезать и вставить. Мой сервис указывал на старый несуществующий сервис, чем тот, который я использую. Он снова начинает работать после того, как я исправил эти строки, как показано ниже:
<system.serviceModel>
<services>
<!--<service name="NotUsed.Serv">-->
<service name="InUse.MyService">
<host>
<baseAddresses>
<!--<add baseAddress="http://localhost:8181/LastService" />-->
<add baseAddress="http://localhost:8181/InUseService"/>
</baseAddresses>
</host>
</service>
</services>
</system.serviceModel>
Обратите внимание, что MyService должен быть именем вашего класса контракта в ServiceModel 3.5, НО ЭТО IMyService интерфейс контракта в Framework 4.0 ->
namespace InUse {
[ServiceContract]
public interface IMyService
{
[WebGet(UriTemplate = "/GetList/{PATTERN}",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json)]
[OperationContract]
List<string> GetIDListByPattern(string PATTERN);
}
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
public class MyService : IMyService
{
List<string> MySample = (new _PointRT()).Sample().Select(r=>r._pointXID).ToList();
public List<string> GetIDListByPattern(string PATTERN) {
return MySample.Where(x => x.Contains(PATTERN)).ToList();
}
}