Tag: #wcf

如何从WCF REST方法创建自定义HTTP状态代码?

我想在满足特定条件时从RESTful WCF Web服务返回自定义HTTP状态代码。 我不想使用标准的HTTP状态代码; 相反,我想返回一个514状态代码,这对调用用户来说意味着什么。 这可能与WebOperationContext.Current.OutgoingResponse吗?

WCF错误:客户端和服务绑定可能不匹配?

让我们看看服务器配置和客户端配置 然后帮我找到这些配置之间的区别!! 客户端配置 服务器配置

Silverlight和WCF:NotFound错误!

我有这样的WCF方法: public string GetSomething(MyObject obj) { return “Something”; } 当我从我的silverlight应用程序调用它时,我收到一个错误: System.Net.WebException:远程服务器返回错误:NotFound ….. 我从我的silverlight应用程序中调用方法如下: mProxy.GetSomethingAsync(new MyObject()); 现在,当我调用这样的方法时它工作正常: mProxy.GetSomethingAsync(null); 因此传递复杂对象似乎存在一些问题。 请注意,我从其他方法返回此MyObject,它工作正常,因此它不是一个可序列化的问题。 我还将maxBufferSize和maxReceivedMessageSize更改为最大值,所以不是这样,我传入一个空对象,所以它不应该是一个大小问题。 MyObject只包含简单的数据类型。 有人有什么建议吗?

通过WCF打开IE

我有一个Windows服务托管的WCF服务。 这个服务WCF有一个metohd,在这个方法中我有一个重要的路线: Process Browser = Process.Start(“iexplore.exe”, hostUrl); 我将Windows服务安装为本地系统,但是当我尝试调用该方法时,一切似乎都在执行,除了一条重要的行……并且IE没有打开。 我想补充一点,该方法本身不在服务本身,而是在一个服务dll引用中 知道为什么吗?

如何在客户端启用WCF跟踪?

我想使用WCF跟踪function。 在这里,我找到了帮助打开服务端的WCF跟踪。 现在,我想在客户端启用WCF跟踪function,以获取我只能使用的WCF服务。

在IIS上尝试我的WCF数据服务时得到“401 – 未经授权”

我开发了一个运行良好的WCF数据服务,我可以完成我想要的每个操作。 我开发了一个小型的c#客户端来测试所有function:添加,删除,修改,检索数据。 在我的visual studio服务器上一切正常,但是一旦我在IIS服务器上: 我可以添加/检索数据 我无法编辑数据 当我尝试编辑数据时,我收到此错误: System.Data.Services.Client.DataServiceRequestException未处理 消息= Une erreur s’est produite lors du traitement decetterequête。 来源= System.Data.Services.Client 堆栈跟踪: àSystem.Data.Services.Client.DataServiceContext.SaveResult.HandleBatchResponse() àSystem.Data.Services.Client.DataServiceContext.SaveResult.EndRequest() àSystem.Data.Services.Client.DataServiceContext.SaveChanges(SaveChangesOptions选项) àSystem.Data.Services.Client.DataServiceContext.SaveChanges() àWSTester.Program.ModifySomeThings(实体实体)dans D:\ Workspace \ 10067.GfK Telecontrol.TOM \ Release \ V3.1 \ WSTester \ Program.cs:ligne 90 àWSTester.Program.Main(String [] args)dans D:\ Workspace \ 10067.GfK Telecontrol.TOM \ Release \ V3.1 \ WSTester \ Program.cs:ligne […]

如果组合根位于客户端上,如何在WCF中注入依赖项

在我开始之前,我必须说我咬的可能比我能咀嚼的多,但是我处于绝望的学习浪潮中,我需要很多帮助。 我正在编写一个练习,从两本书中取样: 1. Mark Seemann在.Net中的dependency injection 2. Brian Egan和Steve Valenzuela的专业ASP .Net设计模式 该练习使用WCF作为服务层并使用客户端应用程序中的合成根的dependency injection来实现请求/响应消息传递模式。 从2开始: 在练习中,对于服务层,我有五个类库: – 合同:与服务合同的接口。 – 数据协定:包含使用DataContractAttribute修饰的所有对象 – HttpHost:WCF服务的主机。 该库包含所有svc文件 – ServiceProxy:此库手动实现客户端要使用的服务代理 – 服务:包含服务的实现。 从1开始: 我想用控制台和ASP .Net MVC客户端测试这个练习,因此组合根是第一个的Main方法,第二个是Global.asax和自定义控制器工厂组合。 所以我的问题是: 如果在客户端上实现组合根,我是否必须为WCF中的ServiceHostFactory,ServiceHost和IInstanceProvider提供自定义实现? 难道这不会让我有两个组成根源吗? 如果(希望)我只需要客户端中的组合根,我在哪里创建具有依赖项的构造函数? 在服务的实现中,还是在服务的代理中,还是在两者中? 应该如何配置对象层次结构? 我想首先使用穷人的DI,并且一旦运行将Structure Map作为IoC容器。 非常感谢你的帮助。 这是我到目前为止的代码(我不包括服务合同或数据合同): 服务实施: namespace Exercise.Services { public class PurchaseOrderService : IPurchaseOrderService { private readonly IPurchaseOrderFacade PurchaseOrderFacade; public […]

如何将.NET DateTime转换为JSON

我的WCF Web服务将C#DateTime对象作为JSON返回, “/日期(1293793200000 + 1300)/” 我发现了这个, 将.NET DateTime转换为JSON 这建议使用javascript转换它的方法, var d = new Date(); d.setTime(1245398693390); document.write(d); 不同的是我的日期格式中有+1300,这似乎是我的时区,因为我距格林威治标准时间+13小时。 我可以以某种方式修改我的服务,将值从epoch调整为绝对毫秒数,或者可以修改javascript吗?

使用与WCF的接口

我已经谷歌搜索并阅读了几个小时,我找不到任何处理我特定情况的人… 我想在我的WCF服务合同中使用接口来松散地将服务从线路每端使用的类中耦合出来。 这将使我们能够拥有一个低级程序集,其中只包含我们可以提供给顾问的服务和数据合同(只是接口)。 在他们的结束时,他们可以实例化他们的数据类,实现我们的数据合同接口,通过网络将它发送给我们,然后我们的WCF服务将转换/转换/任何传入的数据到我们的实现的数据类的版本相同的界面。 这是一个例子。 IDataContract包含我想通过网络传输的裸信息。 端点和其他特定于WCF的配置都是默认的东西(我的问题可能在于,所以如果我需要更改内容,我可以包含更多内容)。 编辑 :我已经包含了更多的代码,并重命名了几个类,以帮助它减少混乱。 DataContractAttributes的名称和命名空间添加,以及配置文件中的两个部分是基于此博客文章中的信息的新增内容。 如果我切换到抽象基类而不是接口, 它就可以工作 。 但是,如果可能的话,我想使用接口。 共享库(我的代码,与客户作者共享): public interface IDataContract { string MyProperty { get; set; } } [ServiceContract] public interface ITestService { [OperationContract] IDataContract TestSharedInterface(IDataContract clientData); } 客户代码(他们的): [DataContract(Name = “IDataContract”, Namespace = “http://services.sliderhouserules.com”)] public class ClientDataClass : IDataContract { [DataMember] public string MyProperty { get; […]

C#WCF – 无法调用服务

尝试使用WCF测试客户端来我的新Web服务时,我收到以下错误。 奇怪的是每隔一段时间就会执行一次然后开始弹出这个错误。 无法调用该服务。 可能的原因:服务离线或无法访问; 客户端配置与代理不匹配; 现有代理无效。 有关更多详细信息,请参阅堆栈跟踪。 您可以尝试通过启动新代理,还原到默认配置或刷新服务来进行恢复。 我的代码(界面): [ServiceContract(Namespace = “http://rivworks.com/Services/2010/04/19”)] public interface ISync { [OperationContract] bool Execute(long ClientID); } 我的代码(类): public class Sync : ISync { #region ISync Members bool ISync.Execute(long ClientID) { return model.Product(ClientID); } #endregion } 我的配置(编辑 – 发布整个serviceModel部分): <!– –> 2个问题: 我错过了什么导致这个错误? 如何增加服务的时间? TIA!