Я создал очень простую сервисную операцию, которая должна записывать контент в мою базу данных.Этот сервис выглядит следующим образом:
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
[ServiceBehavior(IncludeExceptionDetailInFaults = false)]
public class myService : ImyService
{
public MyServiceResult MyMethod(string p1, string p2)
{
try
{
// Do stuff
MyResponseObject r = new MyResponseObject();
r.Property1 = DateTime.Now;
r.Property2 = "Some other data";
return r;
}
catch (Exception ex)
{
return null;
}
}
}
ImyService определен, как показано здесь:
[ServiceContract]
public interface ImyService
{
[OperationContract]
[WebInvoke(BodyStyle = WebMessageBodyStyle.Wrapped)]
MyServiceResult MyMethod(string p1, string p2);
}
Этот сервис будет доступен как клиентским приложениям WP7, так и iPhone.Из-за этого я считаю, что мне нужно использовать webHttpBinding.Это заставило меня использовать следующие настройки в моем файле web.config:
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="myServiceBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment
aspNetCompatibilityEnabled="true"
multipleSiteBindingsEnabled="true" />
<services>
<service name="myService">
<endpoint address=""
behaviorConfiguration="myServiceBehavior"
binding="webHttpBinding"
contract="ImyService" />
</service>
</services>
</system.serviceModel>
Служба и приложение WP7 являются частью одного и того же решения.Я могу успешно добавить ссылку на сервис в моем приложении.Когда я запускаю приложение, страница, ссылающаяся на сервис, выдает ошибку.В сообщении об ошибке говорится:
Не удалось найти элемент конечной точки по умолчанию, который ссылается на контракт «MyServiceProxy.ImyService» в разделе конфигурации клиента ServiceModel.Это может быть связано с тем, что для вашего приложения не найден файл конфигурации или из-за того, что в клиентском элементе не найден элемент конечной точки, соответствующий этому контракту.
Что я делаю неправильно?Просто кажется, что это должно быть довольно простым делом.Спасибо за вашу помощь.