Что касается этой темы, я открыл ранее:Entity Framework через WCF службы (без IIS)
Storing WCF rest request data with SQL Server stored procedure
У меня есть простой интерфейс в моем WCF
службы с одним методом, который получает параметр myRequest
public interface IService
{
[OperationContract]
string MyOperation(myRequest request);
}
Когда я отправляю данные от клиента, тип содержимого application/json
, поэтому тело запроса автоматически десериализуется в объект myRequest
.
myRequest
является WCF
DataContract
:
[DataContract]
public class myRequest
{
string id;
string Name;
[DataMember]
public string Name { get; set; }
[DataMember]
public string Id { get; set; }
}
public string MyOperation(myRequest request)
{
if (request != null) {
Contact contact = new Contact();
contact.Id = Int32.Parse(request.Id);
contact.DisplayName = request.Name;
ContentContext db = new ContentContext();
db.Contacts.Add(contact);
db.SaveChanges();
return "ok";
}
SetResponseHttpStatus(HttpStatusCode.InternalServerError);
return null;
}
И, наконец, хостинг услуги:
public class ProgramBL {
public static void StartServer()
{
ServiceHost streamer = new ServiceHost(typeof(DataStreaming.StreamService));
streamer.Open();
Console.WriteLine("Service up and running at:");
foreach (var ea in streamer.Description.Endpoints)
{
Console.WriteLine(ea.Address);
}
Program._StreamerHost = streamer;
}
}
_StreamerHost
сво статический член класса Program
.
Когда я пытаюсь использовать EF через службу WCF rest
, размещенную в консоли/приложении. Когда я пытаюсь это сделать - клиент получает всегда 400 Bad Request
ответ.
Другое дело - я создал новый проект в решении для модели базы данных, услуга WCF
- это еще один проект, поэтому я добавил в проект службы refrence проекта модели базы данных. Чтобы добиться этого, мне пришлось установить и добавить ссылку на рабочий пакет Nuget Entityframe.
Любые решения?
Спасибо
Оставьте свой код, пожалуйста. Это поможет нам помочь – MickyD
Пожалуйста, введите ссылку, которую я добавил, Это нить, которую я открыл несколько часов назад, заставило меня открыть эту новую тему ... – sharonooo
Хмм. Нет никакого клиентского кода консоли там и здесь, хотя – MickyD