Я использую стартовый комплект WCF REST для создания сервиса RESTFul. Я определил услугу так:
namespace MyNS {
[ServiceBehavior(IncludeExceptionDetailInFaults = true,
InstanceContextMode = InstanceContextMode.Single,
ConcurrencyMode = ConcurrencyMode.Single)]
[AspNetCompatibilityRequirements(
RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class MyService : MyCollectionServiceBase, IMyCollectionServiceBase
{...}
}
MyCollectionServiceBase и IMyCollectionSeviceBase определены следующим образом:
namespace MyNS.Contract {
[ServiceContract]
public interface IMyCollectionServiceBase<TItem> where TItem : class
{...}
// COllectionServiceBase is an abstract class in
// Microsoft.ServiceModel.Web.SpecializedServices
public abstract class MyCollectionServiceBase<TItem> :
CollectionServiceBase<TItem>
where TItem : class
{...}
}
и вот раздел службы в моем Web.config
<serviceBehaviors>
...
<behavior name="MyNS.MyService1Behavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
...
<service behaviorConfiguration="MyNS.MyService1Behavior"
name="MyNS.MyService1">
<endpoint address="" binding="wsHttpBinding"
contract="MyNS.IMyService1">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
Когда я тестирую свою службу с помощью "http://localhost:1290/MyService.svc/",, я получаю сообщение об ошибке:
The contract name 'MyNS.Contract.IMyCollectionServiceBase' could not be found
in the list of contracts implemented by the service 'MyService'.
Я не уверен, что конечная точка не совпадает или что-то отсутствует?