Tag: #wcf

WPF API可以安全地用在WCF服务中吗?

我需要使用客户端XAML(来自Silverlight)并创建与服务器端资源(高分辨率图像)合并的位图,并且可以使用WPF(DrawingContext等)轻松地完成此操作。 有人提到服务器端(在IIS WCF中托管)使用WPF类似于在服务器上运行Office,这是一个非常糟糕的主意。 WPF是否可以在服务器上运行? 有哪些替代方案(尤其是xaml)? 我需要注意什么(内存泄漏,线程等)?

某些方法的WCF REST基本身份validation

我在WCF 4.0中实现了很多RESTful(GET和POST)方法。 所有这些都通过SSL工作。 一些方法的示例: [OperationContract] [WebInvoke(UriTemplate = “Login?”, Method = “POST”, ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)] LoginResponse Login(LoginRequest request); [OperationContract] [WebInvoke(UriTemplate = “UpdateDetails?”, Method = “POST”, ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)] UpdateUserDetailResponse UpdateDetails(UpdateUserDetailRequest request); [OperationContract] [WebInvoke(UriTemplate = “GetDetails?”, Method = “POST”, ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, […]

如何在WCF RESTful服务上启用HTTPS?

如何使wcf在https上工作。 我想在https上使用这个wcf我搜索了许多文章我没有得到答案请帮助我对wcf概念的新手。 我想从ajax,jquery中调用它

分层架构中的entity framework?

围绕WCF和entity framework进行一些实验。 几个问题。 选项1: 我知道entity framework类可以通过WCF直接序列化,sp1以上。 但是,我想了解如何处理延迟加载,急切加载,上下文管理等场景,如果它们被处理的话? 选项2: 另一种选择可能是使用EFPocoAdapter,在entity framework之上有一个普通的POCO包装器,而不是直接暴露entity framework类。 http://code.msdn.microsoft.com/EFPocoAdapter 。 有人用过吗? 这个方向的任何想法? 其他想法: 关于ADO.NET数据服务 – 据我所知,ADO.NET数据服务无法通过远程配置(nettcp绑定)进行配置? 它仅支持基于http的访问。 我们都知道二进制序列化速度较慢。 任何指针或任何其他选项?

WCF服务参考 – 获取“XmlException:名称不能以'<'字符开头,hex值0x3C”在客户端

我有一个智能客户端应用程序通过WCF与其服务器通信。 数据在客户端上创建,然后通过服务发送以保持持久性。 服务器和客户端通过共享dll使用相同的域类,我在Visual Studio中使用方便的“添加服务引用”function包装SvcUtil.exe并生成客户端和代理类。 尝试调用服务时出现以下错误: System.Xml.XmlException occurred Message=Name cannot begin with the ‘<' character, hexadecimal value 0x3C. Source=System.Xml LineNumber=0 LinePosition=1 StackTrace: at System.Xml.XmlConvert.VerifyNCName(String name, ExceptionType exceptionType) InnerException: 这特别麻烦,因为该服务一次可以工作数周而不会发生此错误,然后突然且没有警告它将再次出现。 我根本无法找出导致它的原因。 当它确实发生时,我会深入研究如何解决它,并且通常不会提出任何比实际尝试以编程方式将事物序列化为xml而遇到相同错误的人。 我只使用生成的客户端和代理来尝试发送此数据。 我已经查看了我的解决方案的Service References\AwesomeService文件夹中生成的代理,看不到任何看似exception的内容。 生成的文件中唯一出现的尖括号是: * .svcinfo,Reference.svcmap,AwesomeService.disco,AwesomeService.wsdl和* .xsd文件中的xml标记 Reference.cs文件中generics集合的参数 我用来调用服务的代码是这样的: using (var client = new AwesomeServiceClient()) { client.SaveAwesomeness(instanceOfAwesomeness); } 这是使用上面列出的调用代码上方的第一帧开始的堆栈: System.Xml.dll!System.Xml.XmlConvert.VerifyNCName(string name, System.Xml.ExceptionType exceptionType) + 0xb5 […]

通过StringBuilder使用XmlWriter进行XML序列化是utf-16而via Stream是utf-8?

当我遇到它时,我感到很惊讶,并编写了一个控制台应用程序来检查它,并确保我没有做任何其他事情。 有谁能解释一下? 这是代码: using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Xml; using System.Xml.Serialization; namespace ConsoleApplication1 { public class Program { static void Main(string[] args) { var o = new SomeObject { Field1 = “string value”, Field2 = 8 }; Console.WriteLine(“ObjectToXmlViaStringBuilder”); Console.Write(ObjectToXmlViaStringBuilder(o)); Console.WriteLine(); Console.WriteLine(); Console.WriteLine(“ObjectToXmlViaStream”); Console.Write(StreamToString(ObjectToXmlViaStream(o))); Console.ReadKey(); } public static string ObjectToXmlViaStringBuilder(SomeObject […]

如何研究.NET中的非托管内存泄漏?

我有一个在MSMQ上运行的WCF服务。 内存随着时间的推移逐渐增加,表明存在某种内存泄漏。 我在本地运行该服务并使用PerfMon监控一些计数器。 总CLR内存管理堆字节保持相对恒定,而进程的私有字节随时间增加。 这让我相信存在某种非托管内存泄漏。 假设非托管内存泄漏是问题,我该如何解决这个问题? 是否有任何工具可以用来向我提供有关导致非托管内存泄漏的提示? 此外,我的所有服务都是从事务队列中读取并写入数据库,所有这些都是DTC事务的一部分(通过要求服务合同上的事务来处理)。 我没有明确地使用COM或DllImports做任何事情。 提前致谢!

是否有WCF Rest C#客户端生成工具?

在冒险创建一个之前,我想知道是否有人知道一个实用程序,它将采用WCF Rest服务的REST帮助页面并为C#消费创建相关的客户端。 与svcutil.exe对WCF服务的作用类似,或者wsdl.exe对Web服务执行的操作与WCF REST服务的作用类似 亲切的问候, 安德鲁 编辑更多细节: 请看这个链接: http : //msdn.microsoft.com/en-us/library/dd203052.aspx 在使用WCF Rest Starter Kit Preview 2的restful服务中,它们提供将被序列化的类型。 但我的目的是能够在描述模式的帮助页面中创建客户端。 然后可以为C#,JavaScript,ActionScript等创建客户端。剪切地作为宁静服务的强类型版本,而不是要求或必要性。 这是一个程序或实用程序,我想知道存在这样做

WCF 4.0 – 使用REST服务模板返回JSON WebFaultException

我正在使用WCF REST服务模板40(CS)。 我正在抛出WebFaultExceptions: throw new WebFaultException(“Error Message”, HttpStatusCode.BadRequest); 但是,当我使用我的客户端测试时,所有内容都以Http状态代码500返回,响应为XML。 我可以在XML响应中看到错误消息。 当我正确拨打电话时,我得到200响应并且响应是JSON,这是正确的,因为我的配置和ServiceContract的设置方式。 我可以将错误请求的HTTP状态代码设置为400的唯一方法是: WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.BadRequest; 我仍然无法获得以JSON身份返回的exception。 编辑添加签名以获取更多信息: [OperationContract] [WebInvoke(Method = “POST”, BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json, UriTemplate = “myendpoint”)] 有一个简单的方法来实现这一目标吗?

WCF服务,无法找到作为服务属性值…提供的类型

当我在Visual Studio 2012中右键单击Eval.svc并在浏览器中查看时,我得到以下内容 – 无法找到类型’EvalServiceLibary.Eval’,作为ServiceHost指令中的Service属性值提供,或者在配置元素system.serviceModel / serviceHostingEnvironment / serviceActivations中提供。 当我从测试客户端运行WCF服务时,一切正常。 评估服务: [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)] public class EvalService : IEvalService { Dictionary jobTimers = new Dictionary(); public void SubmitEntry(ENBO.Jobs.Job job, ENBO.Jobs.JobDetail jobDetail, ENBO.TimeLogs.TimeLog timeLog, ENBO.Users.User user, ENBO.Utilities.EntryType entryType, JobPhase jobPhase) { if (entryType == EntryType.Active) { JobPhaseTimer timer = new JobPhaseTimer(); timer.UID = job.ID + “_” […]