C# 通过WCF服务的实体框架(无IIS)
关于我之前打开的这个线程: 我在我的C# 通过WCF服务的实体框架(无IIS),c#,entity-framework,wcf,C#,Entity Framework,Wcf,关于我之前打开的这个线程: 我在我的WCF服务中有一个简单的接口,其中一个方法获取myRequest参数 public interface IService { [OperationContract] string MyOperation(myRequest request); } 当我从客户端发布数据时,内容类型是application/json,因此请求主体自动反序列化为myRequest对象 myRequest是一个WCFDataContract: [DataContr
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;
}
}
\u streamrhost
是程序
类的静态成员
当我尝试通过控制台/应用程序托管的WCF rest
服务使用EF时。
当我尝试这样做时,客户机总是得到400个错误请求
响应
另一件事-我在数据库模型的解决方案中创建了一个新项目,WCF
服务是另一个项目,因此我在服务项目中添加了数据库模型项目的引用。为了实现这一点,我必须安装并向Nuget Entityframe工作包添加引用
有什么解决办法吗
谢谢好的,我解决了这个问题 我只在服务项目中安装了
NuGet
实体框架库(我在数据库项目中使用了内置库)。
在数据库项目上安装了
NuGet
实体框架+将connectionString
添加到服务App.config
之后,一切似乎都正常。请发布您的代码。这将有助于我们帮助您请输入我添加的链接,这是我几个小时前打开的一个SO线程,这个结论让我打开了这个新线程…嗯。此处没有控制台客户端代码,此处也没有thoughSetResponseHttpStatus(HttpStatusCode.InternalServerError);返回null;谁返回null?只有当request==null时才会发生。这是一个复制/粘贴问题。我已经修好了。。MyOperation方法不会触发,当我在谷歌上搜索它时,我发现问题在于将服务部署到IIS