У меня следующая проблема. Я использую Entity Framework для подключения к SQL Azure, и это работает (я тестировал его в тестовом проекте).
Но когда я пытаюсь получить его через службу WCF RESTful, выдается ошибка 504.
Мой контракт на эксплуатацию:
[ServiceContract]
public interface IService
{
[OperationContract]
[WebGet(UriTemplate = "/Artikli", ResponseFormat = WebMessageFormat.Json)]
IEnumerable<Artikal> GetArtikli();
}
Реализация [ServiceContract]
:
public class Service : IService
{
public IEnumerable<Artikal> GetArtikli()
{
using (var context = new CijenolomciEntities())
{
var result = context.Artikals.ToList();
result.ForEach(a => context.Detach(a));
return result;
}
}
}
Все это размещено на локальном IIS. Я использую Fiddler, что он говорит, когда я пытаюсь достичь
http://localhost:17916/Service.svc/Artikli
есть
[Fiddler] ReadResponse() failed: The server did not return a response for this request.
WCF App.Config выглядит так:
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add name="CijenolomciEntities" connectionString="My_Connection_String" providerName="System.Data.EntityClient" />
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<protocolMapping>
<add scheme="http" binding="webHttpBinding" />
</protocolMapping>
<behaviors>
<endpointBehaviors>
<behavior>
<webHttp />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true"/>
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
EDIT:
Когда я пытаюсь получить доступ к URL через браузер, я получаю следующее:
Request Error
The server encountered an error processing the request. See server logs for more details.