IQueryable query = db.Products; foreach (string keyword in keywords) { string temp = keyword...; query = query.Where(p => p.Description.Contains(temp)); } 与 IQueryable query = db.Products...运行之后,会发现第二种写法,多次叠加得到的结果完全是相同的,而第一种写法运行的结果正常,why?...有幸在msn群里得到老赵的提点,原因如下: IQueryable查询时,实际上是构建一个Expression Tree(表达式树),如果使用foreach迭代变量时,表达式树实际上得到的只是迭代变量的一个引用...,最终运行时将只有最后一次的值,而利用一个临时变量中转一下后,对表达式而言,就是多个变量,会有不同的值
也就是说:实现了此接口的object,就可以直接使用foreach遍历此object; IQueryable 接口 它继承 IEnumerable 接口,而因为.net版本加入Linq和IQueryable...(SchoolDBEntities schoolEntities = new SchoolDBEntities()) { //查询的结果放入IQueryable...接口的集合中 IQueryable classesIQue = (from c in schoolEntities.T_Class...第一种:直接返回 IQueryable类型的查询,如下图所示: ? 第二种:在用分页查询之前先将其转换成 IEnumerable实际执行的sql如下图所示: ?...总结 IQueryable接口与IEnumberable接口的区别: IEnumerable 泛型类在调用自己的SKip 和 Take 等扩展方法之前数据就已经加载在本地内存里了,而IQueryable
WCF按照BasicHttpBinding方式发布,部署到服务器上,再在其他项目中引用的时候,就会出现不能正确下载元数据的错误。使用svcutil.exe工具进行测试,出现下面的问题。...查了好久,得到A few tips when using WCF with BizTalk Server 2006 R2的启示,估计可能是C:\WINDOWS\TEMP没有写权限。
Version Information: Microsoft .NET Framework Version:2.0.50727.5448; ASP.NET Version:2.0.50727.5456 发生上面问题的主要原因是当前...vs工程使用的时.NET4.0的版本,而IIS上默认的该website的.Net Framework Version 是低于4.0的版本 打开 IIS: 自己电脑名字 -> Application Pools...,在里面的 ”.Net Framework version“选择"v4.0",关闭IIS重新打开全部会设置为4.0版本的.NET Framework version。
IQueryable简单分页的扩展方法 ,废话不多说,直接上干货!...cancellationToken"> public static async Task> ToPagedListAsync( this IQueryable...pageIndex, pageSize, count); } public static Page ToPagedList( this IQueryable
问题: 最近写了一个接口,提示连接失败,于是在本地发布了一下,然后模拟post请求进行本地调试,发现能正常进入接口,中间也没问题,一直走到最后一步return时,也能return,但是就是返回不了数据...,百思不得其解,遂想是不是解析数据时报错了,后来发现此接口的返回参数类型是BaseEntity List 其中entity 是BaseEntity的字类,但是BaseEntity和Entity...都定义一个参数HosptaiID,于是删除了字类Entitiy的参数HospitalID,接口正常了。...总结: 形如BaseEntity List 的返回参数的接口,基类和字类的参数如果相同,将会导致json参数反序列化失败!
原来在项目中使用HttpContext.Current没什么问题,但是到了中期阶段,项目重构等,并且要求使用WCF,所以就出现了HttpContext.Current为null的问题。...当然也可以通过以下几种方式进行处理,通过调试你就会发现问题的症结。 System.AppDomain.CurrentDomain.BaseDirectory。 1....Application.StartupPath——获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。 2....Environment.CurrentDirectory——获取和设置当前目录(即该进程从中启动的目录)的完全限定路径,只是“当前”目录,不一定是exe文件所在的目录。...Application.ExecutablePath——获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。
WMI 是基于 Web 的企业管理 (WBEM) 标准的 Microsoft 实现,WCF 公开服务的属性,如地址、绑定、行为和侦听器。您可以在应用程序的配置文件中激活内置 WMI 提供程序。...这可以通过 system.ServiceModel element一节中的 Element的 wmiProviderEnabled 属性实现,如以下配置示例所示。...现在,您可以通过此接口连接管理应用程序并访问应用程序的管理规范。更详细的信息参看http://msdn.microsoft.com/zh-cn/library/ms735120.aspx.
WCF按照basicHttpBinding方式发布,.net按照Web Service方式调用,自动生成的Proxy中枚举类型和Nullable类型的参数,在Proxy里面发现一些不一样的东西,都额外生成一个配对的...XXSpecified的字段和属性。...你必须将该值设为true,否则,WCF序列化的时候回忽略相应的枚举类型或Nullable类型,全部使用的默认值,你所赋的值都被忽略了,只有你将XXSpecified设置为true就可以了。
WCF是一个具有极高扩展度的分布式通信框架,无论是在信道层(Channel Layer)还是服务模型层(Service Model),我们都可以自定义相关组件通过相应的扩展注入到WCF运行环境中。...问题大概是这样的,他采用ICallContextInitializer实现WCF与NHibernate的集成。...我们现在就来讨论一下这个问题,以及问题产生的根源。 一、问题重现 为了重现这个问题,我写了一个很简单的例子,你可以从这里下载该例子。...二、原因剖析 从上面表现出来的现象,我们可以知道这是一个非常严重的问题,因为它将会终止整个服务宿主进程。那么,是什么导致了这个严重的问题呢?...实际上,如果通过Reflector对WCF相关代码进行反射,你将会很容易找到问题的根源。
本文转载:http://www.cnblogs.com/Charles2008/archive/2010/06/24/1764510.html 最近为培训WCF做了一个演示DEMO,关于WCF集成COM...+应用程序时候遇到一个问题:SvcConfigEditor.exe工具不让我集成COM+应用程序,出现的情况如下图所示: ?...另外补充: 一般来说,将程序集(dll)安装到GAC中有以下两种方法: 1.手动将要安装部署的dll文件拖至:\Windows\Assembly文件夹下 2.使用gacutil.exe...因为GAC包含很多子目录,这些子目录是用一种算法来产生的,我们最好不要手动将程序集拷贝到GAC中,相反,我们应使用工具来完成这样的工作。因为这些工具知道GAC的内部结构。...如果语言的文化是en,则表示:2.0.0.0__en_b77a5c561934e089 OK,还有一个问题:CLR是怎么知道一个程序集需要引用另外的程序集呢?
从 .NET 3.5 开始 WCF 已经支持用 WebHttpBinding 构建 RESTful Web 服务,基于 WCF 框架的 RESTful Web 服务还是建立在 WCF Message 栈上...,还是基于RPC风格的,因为 REST 的工作原理有所不同,它不需要依赖 SOAP 协议,因此 WCF 消息管道对于它经过了特殊的消息优化。...几个月之前WCF和ASP.NET 团队合并,把WCF Web API的内容并入了ASP.NET Web API,目前WCF Web API的所有功能并没有完成移植,将在ASP.NET Web API正式发布的时候完成移植...让Web API的返回值变成IQueryable,Web API会自动启用OData query conventions。...ASP.NET Web API还有一个特性就是可以类似于WCF自宿主方式部署,当然也可以在IIS上运行。 下面来看看如何使用 ASP.NET Web Api (使用的是 VS2010版) ?
首先,WCF Data Services是WCF服务,所以你可以使用所有现有的WCF知识。...无论数据是怎么来的,你都可以用同样的方式来发布/使用它们。 下面我们就使用WCF Data Service将服务器的Windows应用程序日志向外发布。...我们的应用程序可以把日志直接就写在Windows的日志里,然后通过使用WCF Data Service非常容易的就将日志想其他需要的用户公开。...WCF Data Service默认使用的是Entity Framework,使用Entity Framework参看文章WCF Data Service QuickStart,还有一个Reflection...Friendly feeds 将数据映射到标准ATOM元素,其中DataServiceKey是唯一一个必须的标记,然后使用Reflection Provider实现一个IQueryable接口的数据源:
在我们对Web Service和WCF进行深入学习的时候,借助一些Soap Trace 工具对Soap Message进行深入剖析是非常有必要的。...在这些工具之中,我觉得最好用的就是Microsoft Soap Toolkit中的Soap Trace Utility和tcpTrace。我们今天就来讲讲如何在WCF中使用tcpTrace这个工具。...对于每次的Message Exchange来说,寻址(Addressing)是首先需要解决的问题,在Intermediary Node的场景中,实际上涉及到两个Address,其中一个是最终Service...在WCF中通过ClientViaBehavior实现这样的功能,我将在 后面讲到。...而我们今天所介绍的通过tcpTrace来获取Soap的情况下,tcpTrace实际是就是充当了Intermediary Node的角色。 我们现在就来介绍如果使用tcpTrace。
2、WCF中的回话机制通过设置服务协定ServiceContract上的SessionMode的枚举值来设置服务协定是否要求、允许或者拒绝基于回话的绑定.枚举值有以下三种: (1)、Allowed:允许回话...,这是SessionMode的默认值,当前协定允许使用会话,则客户端可以进行连接,并选择建立回话或者不建立回话,但是如果回话结束,然后还在当前回话通道发送消息,将会引起异常. (2)、Required:...二、WCF中的回话和Asp.Net中的回话 1、WCF中回话的主要功能有以下: (1)、他们由调用程序显示启动或者关闭 (2)、会话期间传递的消息按照接收消息的顺序进行处理。...(4)、不存在与 WCF 会话相关联的常规数据存储区。...1、WCF服务层搭建:新建契约层、服务层、和WCF宿主,添加必须的引用(这里不会的参考本人前面的随笔),配置宿主,生成解决方案,打开Host.exe,开启服务。
/blockquote>对官方例子的简单解释...result = client.service.DoAlarm('23','erewr') except Exception ,e: print 'error' ,e 对官方例子的简单解释
这个入门文章主要演示在ASP.NET MVC3网站宿主: 如何使用NuGet向项目中添加Web Api引用 如何创建一个通过HTTP GET访问的Web Api 如何通过asp.net routes...宿主一个Web Api 如何通过浏览器或者Fiddler访问Web Api 如何在Api上启用OData uri查询 如何用WCF Web Test Client测试WCF Web API 1、创建一个基本的解决方案...:使用VS2010新建一个空的ASP.NET MVC 3 Web Application ?...4、通过asp.net routing注册ContractsApi Api需要通过asp.net mvc宿主,使用ASP.net Route的MapServiceRoute扩展方法把它注册进去。...查询使用IQueryable 接口,服务端并没有去查询所有的数据,发送过滤和排序到服务端。
一、问题:这可能是由于服务终结点绑定未使用 HTTP 协议造成的。...这还可能是由于服务器中止了 HTTP 请求上下文(可能由于服务关闭)所致 分析及解决办法: 1、检查是否没有重新生成代理文件 2、检查返回值是否无法序列化 备注:WCF的方法,不能返回Object、ICollection...、IList之类的不明确的数据类型,但是IList这样的类型可以返回, 如果返回IList这样的自定义类型,需要在接口上增加KnownType,如: [ServiceContract] [ServiceKnownType...(typeof(MyClass))] public interface IMyService 二、问题: 已超过传入消息(65536)的最大消息大小配额。...若要增加配额,请使用相应绑定元素上的 MaxReceivedMessageSize 属性。
也就是说:实现了此接口的object,就可以直接使用foreach遍历此object; IQueryable 接口 它继承 IEnumerable 接口,而因为.net版本加入Linq和IQueryable...(SchoolDBEntities schoolEntities = new SchoolDBEntities()) { //查询的结果放入IQueryable...接口的集合中 IQueryable classesIQue = (from c in schoolEntities.T_Class...第一种:直接返回 IQueryable类型的查询,如下图所示: 第二种:在用分页查询之前先将其转换成 IEnumerable实际执行的sql如下图所示: 总结 IQueryable接口与IEnumberable...接口的区别: IEnumerable 泛型类在调用自己的SKip 和 Take 等扩展方法之前数据就已经加载在本地内存里了,而IQueryable 是将Skip ,take 这些方法表达式翻译成
为避免其他兄弟遇到相同的问题少走弯路做一下总结。...不幸如果没有找到这几个"兄弟"的话方法如下 安装注册WCF组件 WCF没有正确的在IIS中注册也许是导致看到错误页面的最常见原因。...如果你在安装Visual Studio后才安装IIS, 那么你在IIS托管WCF服务中,就很可能遇到这样的问题。...最后说说VS2010中WCF的发布遇到的问题 1.选择WCF项目右键选择发布在下图设置对话框中注意红色标注文本框的填写方法 如果直接发布到名为"Service"(这个根据要求自行定义名称)的网站不需要填写...系统提示的什么“默认网站/MyApp”是扯淡的,如果你觉得名称太长,可在IIS管理器中重命名默认网站的名称。 常出现的问题是无法找到Service站点 ?