Сначала попробуйте службу данных wcf всегда тайм-аут от клиента - PullRequest
1 голос
/ 09 октября 2010

Я прочитал все остальные посты и гуглюл это последние 2 часа! Я запустил службы данных WCF около 3 часов назад.

Мой сервис в приложении asp.net4, модель сущностей ado предоставляет базу данных sql server.

Вот FasDataService.svc.cs

public class FasDataService : DataService<FASStoreEntities>
{
   public static void InitializeService(DataServiceConfiguration config)
   {
      config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
      config.UseVerboseErrors = true;
      config.SetServiceOperationAccessRule("*", ServiceOperationRights.All);
      config.SetEntitySetAccessRule("*", EntitySetRights.All);
   }
}

У меня есть приложение winforms 4 со следующим кодом в Main ()

FASStoreEntities fas = new FASStoreEntities(u);
var a = from al in fas.Customers 
        where al.Name == "Alinio"
        select al;
MessageBox.Show(a.First().Phone1);

Когда я запускаю веб-приложение и указываю на http://localhost:15995/FasDataService.svc/Customers(1), оно загружает единственного покупателя

Моя ошибка - исключение WebException:

Время операции истекло. Внутренний исключение равно нулю.

Кроме того, все локально, но когда я делаю это (в chrome), это занимает много времени! Страшно подумать, как он будет работать на производстве?

1 Ответ

0 голосов
/ 09 октября 2010

Почему-то сегодня я установил fiddler и попробовал, и он работает! Я также запросил сервис с linqpad, и он работал без проблем!

Хотя в течение всего сегодняшнего дня я играл со службами данных wcf и имел массу проблем с доступом к данным из-за всевозможных ошибок, соединение данных все еще было открыто, некоторые ошибки вставляли лишние данные в поле и т. Д. И т. Д.

Fiddler был очень полезен при диагностике ошибки, очень трудно понять, что на самом деле пошло не так, поэтому необходимо иметь fiddler.

...