我试图通过WCF从实体框架中检索对象列表,但我收到以下异常:
尝试序列化参数http://tempuri.org/:GetAllResult时出错.该消息的InnerException是"类型'System.Data.Entity.DynamicProxies.TestObject_240F2B681A782799F3A0C3AFBE4A67A7E86083C3CC4A3939573C5410B408ECCE’数据合同名称'TestObject_240F2B681A782799F3A0C3AFBE4A67A7E86083C3CC4A3939573C5410B408ECCE:http://schemas.datacontract.org/2004/07/System.Data.Entity.DynamicProxies预计不会’.考虑使用DataContractResolver或将任何静态未知的类型添加到已知类型列表中 - 例如,通过使用KnownTypeAttribute属性或将它们添加到传递给DataContractSerializer的已知类型列表中.有关更多详细信息,请参阅InnerException.
我过去使用过WCF,但从未使用过Entity Framework.我通过Entity Framework生成了所有实体,并使用[DataContract]和[DataMember]属性进行了注释.我的任何实体都没有导航属性.
被调用的GetAll()方法位于抽象服务类中:
[ServiceContract]
public interface IService<T>
{
[OperationContract]
List<T> GetAll();
}
Run Code Online (Sandbox Code Playgroud)
我正在使用ChannelFactory来调用我的实现:
Binding binding = new NetTcpBinding();
EndpointAddress endpointAddress = new EndpointAddress("net.tcp://localhost:8081/" + typeof(TestObjectService).Name);
using (ChannelFactory<ITestObjectService> channel = new ChannelFactory<ITestObjectService>(binding, endpointAddress))
{
ITestObjectService testObjectService = channel.CreateChannel();
testObjects = testObjectService.GetAll();
channel.Close();
}
Run Code Online (Sandbox Code Playgroud)
我这样托管它:
Type type = typeof(TestObjectService);
ServiceHost host = new ServiceHost(type,
new Uri("http://localhost:8080/" + type.Name),
new Uri("net.tcp://localhost:8081/" + type.Name));
host.Open();
Run Code Online (Sandbox Code Playgroud)
使用调试时,它会从数据库中找到对象,但是,它无法返回对象.
关于我可能出错的地方的任何想法?
例如,在网页中给出了许多链接.
forward backward
Run Code Online (Sandbox Code Playgroud)
把这两个作为两个链接.我想首先加载此页面,其中包含此链接并单击任何这些链接.注意[我不知道随机更改后点击它后会加载的URL]
您是否认为从架构角度来看,使用ViewModel - 没有模型来查看临时内容是否正常?
例如:我希望用户输入一些路径,以便稍后我可以打开一些文件.将路径存储在ViewModel的任何位置并且当用户单击"显示所有文件"时,我构建文件模型和ViewModel for View以某种方式表示它们是没有意义的.所以我唯一的模型就是文件的模型.
我正在尝试为在 EventLog 中报告条目的应用程序编写单元测试。现在,当我运行单元测试时,我必须创建一个临时的 EventLog,向其中写入条目,并在完成后删除日志。我这样做是因为我需要取回没有构造函数的 EventLogEntry 对象。
我的问题是是否有任何方法可以模拟 EventLog 以取回 EventLogEntries。必须将条目写入实际的 EventLog 对我来说更像是集成测试而不是单元测试。
我最近被要求对现有项目进行编组,我不知道究竟是什么意思.在maven网站上,它概述了如何从头开始创建maven项目,但是如果我已经获得了大量代码呢?
我很乐意在命令行或Eclipse/Netbeans中工作.我知道2 IDE有很多插件可以让这种事情变得更容易,但我不知道从哪里开始.
除了编写一个包含所有依赖项的pom文件之外,还有什么吗?
我想知道是否有人有尝试从jquery(或普通JS)的ajax请求中删除'X-Requested-With'标头的经验.可能吗?
第二部分:你知道Grease Monkey的ajax请求是否设置了这个标题?
谢谢
标题看起来像这样:
X-Requested-With XMLHttpRequest
Run Code Online (Sandbox Code Playgroud) 我已经阅读了官方文档,我理解了哪些类引用,但我没有看到它们何时以及为什么它们是替代品的最佳解决方案.
文档中引用的示例是TCollection,可以使用TCollectionItem的任何后代进行实例化.使用类引用的理由是它允许您在编译时调用类型未知的类方法(我假设这是TCollection的编译时).我只是没有看到使用TCollectionItemClass作为参数如何优于使用TCollectionItem.TCollection仍然能够保存TCollectionItem的任何后代,并且仍然能够调用TCollectionItem中声明的任何方法.不是吗?
将其与通用集合进行比较.TObjectList似乎提供与TCollection大致相同的功能,并具有类型安全性的额外好处.您无需继承TCollectionItem以存储对象类型,您可以根据需要将集合设置为特定类型.如果您需要从集合中访问项目的成员,则可以使用通用约束.除了在Delphi 2009之前程序员可以使用类引用这一事实之外还有其他令人信服的理由将它们用于通用容器吗?
文档中给出的另一个示例是将类引用传递给充当对象工厂的函数.在这种情况下,工厂用于创建TControl类型的对象.它不是很明显,但我假设TControl工厂正在调用传递给它的后代类型的构造函数而不是TControl的构造函数.如果是这种情况,那么我开始至少看到使用类引用的一些原因.
所以我想我真正想要了解的是什么时候和哪些类引用最合适,他们买了什么开发人员?
我正在尝试传递对变量的引用,然后在javascript中更新内容,这可能吗?例如,简单(失败)的例子是...
var globalVar = 2;
function storeThis ( target, value ) {
eval(target) = value;
}
storeThis( 'globalVar', 5);
alert('globalVar now equals ' + globalVar);
Run Code Online (Sandbox Code Playgroud)
这当然不起作用,任何人都可以帮忙吗?