Сначала я создал базу данных в Azure с использованием кода EF, а теперь я хочу предоставить данные с помощью WCF REST.
Но у меня странное поведение. Когда я хочу вернуть список (т.е. элемент), мой браузер не может просто получить его.
И когда я переименовываю метод, который возвращает строку и возвращает string.item, тогда он работает: /
my Web.config :
<configuration>
<connectionStrings>
<add name="CijenolomciContext" connectionString="Server=tcp:*.database.windows.net;Database=myDataBase;User ID=*;Password=*;Trusted_Connection=False;Encrypt=True;" providerName="System.Data.EntityClient"/>
</connectionStrings>
<system.serviceModel>
<services>
<service name="Cijenolomci2.Servis.Service" behaviorConfiguration="ServiceBehavior">
<endpoint address="" binding="webHttpBinding" contract="Cijenolomci2.Servis.IService" behaviorConfiguration="web"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="web">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
<system.web>
<compilation debug="true"/>
</system.web>
</configuration>
Класс товара:
[DataContract]
public class Item
{
[DataMember]
public int ItemID { get; set; }
[Required(AllowEmptyStrings=false, ErrorMessage="You must enter a name!")]
[MaxLength(50, ErrorMessage = "Name must be 50 characters or less")]
[DataMember]
public string Name { get; set; }
[MaxLength(100, ErrorMessage = "Description must be 50 characters or less")]
[DataMember]
public string Description { get; set; }
[Required(AllowEmptyStrings = false, ErrorMessage = "You must enter a OldPrice!")]
[DataMember]
public Decimal OldPrice { get; set; }
[Required(AllowEmptyStrings = false, ErrorMessage = "You must enter a NewPrice!")]
[DataMember]
public Decimal NewPrice { get; set; }
[Required(AllowEmptyStrings = false, ErrorMessage = "You must enter a SaleStarts date!")]
[DataMember]
public DateTime SaleStarts { get; set; }
[DataMember]
public DateTime? SaleEnds { get; set; }
[DataMember]
public int CategoryID { get; set; }
[DataMember]
public virtual Category Category { get; set; }
}
IService:
[OperationContract]
[WebGet(UriTemplate = "/items/", ResponseFormat = WebMessageFormat.Json)]
List<Item> GetItems();
Service.svc:
public List<Item> GetItems()
{
var result = db.Items.AsNoTracking().ToList();
return result;
}