Questions tagged «wcf»

Windows Communication Foundation是.NET Framework的一部分,它为快速构建面向服务的应用程序提供了统一的编程模型。

6
无法在Windows 8的IIS中提供WCF服务
当我尝试在Windows 8计算机上的IIS上提供WCF服务时,出现了众所周知的错误 由于扩展程序配置的原因,无法提供您请求的页面。如果页面是脚本,请添加处理程序。如果应下载文件,请添加一个MIME映射。 以前的解决方法是运行,aspnet_regiis -i但是Windows 8中似乎已经弃用了此命令,从而产生了响应This option is not supported on this version of the operating system. (...)。 解决的办法是什么? (我已经成功地启用了常规aspx页面,因此大多数IIS配置似乎正常。)
198 wcf  iis  windows-8 

9
在Parallel.ForEach中嵌套等待
在Metro应用程序中,我需要执行许多WCF调用。需要进行大量调用,因此我需要在并行循环中进行调用。问题在于并行循环在WCF调用全部完成之前退出。 您将如何重构它以使其按预期工作? var ids = new List<string>() { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" }; var customers = new System.Collections.Concurrent.BlockingCollection<Customer>(); Parallel.ForEach(ids, async i => { ICustomerRepo repo = new CustomerRepo(); var cust = await repo.GetCustomer(i); customers.Add(cust); }); foreach ( var customer in customers ) { Console.WriteLine(customer.ID); …

7
WCF服务启动错误“此集合已包含具有方案http的地址”
我构建了一个Web应用程序,其中包含WCF服务协定和Silverlight控件,该控件对该WCF服务进行调用。在我的开发和测试服务器上,它运行良好。 当我部署到实时服务器并运行应用程序时,我收到一个类型异常,该异常System.ServiceModel.ServiceActivationException指出由于编译期间发生异常而无法激活该服务。例外是: 该集合已包含一个使用方案http的地址。该集合中每个方案最多可以有一个地址。 我读到,如果网站具有多个主机头,则可能引发此异常,这在我们的实时服务器上是正确的。显然,IIS中托管的WCF服务只能具有一个基本地址。我该如何解决这个问题?
182 .net  wcf 

1
Catch-22防止WIF可保护的流式TCP WCF服务;破坏圣诞节,精神健康
我需要使用WIF保护流式WCF net.tcp服务端点。它应该根据我们的令牌服务器对传入的呼叫进行身份验证。该服务之所以流式传输是因为它旨在传输大量数据。 这似乎是不可能的。 而且如果我不能解决问题,我的圣诞节将会毁灭,我会在一个装满水槽的水里把自己喝死,而快乐的购物者会踩在我缓慢冷却的身体上。手提袋很认真,你们。 为什么这不可能呢?这是Catch-22。 在客户端上,我需要使用从令牌服务器获取的GenericXmlSecurityToken创建一个通道。没问题 // people around here hate the Framework Design Guidelines. var token = Authentication.Current._Token; var service = base.ChannelFactory.CreateChannelWithIssuedToken(token); return service.Derp(); 我说“没问题”吗?问题。实际上,NullReferenceException风格有问题。 我问框架,“兄弟,您是否还进行空检查?” 该框架是沉默的,因此我进行了分解,发现 ((IChannel)(object)tChannel). GetProperty<ChannelParameterCollection>(). Add(federatedClientCredentialsParameter); 是异常的来源,并且GetProperty调用正在返回null。那么,WTF?事实证明,如果我打开消息安全性并将客户端凭据类型设置为,IssuedToken则此属性现在存在于ClientFactory(提示:混蛋IChannel中没有等效的“ SetProperty”)。 <binding name="OMGWTFLOL22" transferMode="Streamed" > <security mode="Message"> <message clientCredentialType="IssuedToken"/> </security> </binding> 甜。没有更多的NRE。但是,现在我的委托人出生时有过错(仍然爱他,tho)。我仔细研究了WCF诊断程序(提示:让最坏的敌人在压垮他们并在他们之前开车之前,但在享受他们的女人和孩子的悲痛之前,先这样做),是因为服务器和客户端之间的安全性不匹配。 “ net.tcp:// localhost:49627 / MyService”不支持请求的升级。这可能是由于绑定不匹配(例如,在客户端而非服务器上启用了安全性)。 检查主机的诊断(再次:暗恋,开车,阅读日志,感叹),我认为这是对的 …
181 c#  wcf  .net-4.5  wif  nettcpbinding 

9
HTTP无法注册URL http:// +:8000 / HelloWCF /。您的进程没有对此名称空间的访问权限
我是WCF的初学者,但尝试改善我的经验。第一步,我遇到了问题。我创建了最简单的WCF服务。代码清单:(所有代码在一个文件中) using System; using System.ServiceModel; namespace EssentialWCF { [ServiceContract] public interface IStockService { [OperationContract] double GetPrice(string ticker); } public class StockService : IStockService { public double GetPrice(string ticker) { return 94.85; } } class Service { static void Main(string[] args) { ServiceHost serviceHost = new ServiceHost(typeof(StockService), new Uri("http://localhost:8000/HelloWCF")); serviceHost.AddServiceEndpoint(typeof(IStockService), new …
179 wcf 

7
何时使用DataContract和DataMember属性?
我DataContract对WCF中的属性感到非常困惑。据我所知,它用于序列化用户定义的类型(如类)。我写了一个这样的类,它在客户端公开。 [DataContract] public class Contact { [DataMember] public int Roll { get; set; } [DataMember] public string Name { get; set; } [DataMember] public string Address { get; set; } [DataMember] public int Age { get; set; } } 它工作正常,但是当我删除DataContract并且DataMember它也工作正常。我不明白为什么它可以正常工作。谁能告诉我的实际用途是DataContract什么? 我的服务合同如下所示 [ServiceContract] public interface IRestServiceImpl { [OperationContract] Contact XmlData(string id); …

10
WCF ServiceHost访问权限
通过WCF教程时出现以下错误。 HTTP无法注册URL http:// +:8000 / ServiceModelSamples / Service /。您的进程没有对此名称空间的访问权限(有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=70353)。 这是由Windows 7的限制引起的吗?
166 c#  wcf  windows-7 

13
如何为每个WCF调用添加自定义HTTP标头?
我有Windows服务中托管的WCF服务。使用此服务的客户每次调用服务方法时都必须传递一个标识符(因为该标识符对于被调用方法应该做什么很重要)。我认为以某种方式将此标识符放入WCF标头信息中是一个好主意。 如果是个好主意,如何将标识符自动添加到标题信息中。换句话说,每当用户调用WCF方法时,都必须将标识符自动添加到标头中。 更新: 使用WCF服务的客户端是Windows应用程序和Windows Mobile应用程序(使用Compact Framework)。
162 wcf 

4
如何打开WCF跟踪?
更新: 我一直在尝试打开WCF跟踪,但是仍然没有成功...以下是我的最新更新。 我需要写到以下位置的权限吗? <system.diagnostics> <trace autoflush="true" /> <sources> <source name="System.ServiceModel" switchValue="Information, ActivityTracing" propagateActivity="true"> <listeners> <add name="sdt" type="System.Diagnostics.XmlWriterTraceListener" initializeData= "@\\myservername\folder1\traces.svclog" /> </listeners> </source> </sources> </system.diagnostics> 我正在使用.NET Framework 3.5。 为调试目的打开WCF跟踪的分步说明是什么?
160 wcf 


6
在服务器上打开IncludeExceptionDetailInFaults(通过ServiceBehaviorAttribute或<serviceDebug>配置行为)
我有一个运转良好的WCF服务,但情况有所变化,我不知道是什么。 我得到这个例外: System.ServiceModel.FaultException:由于内部错误,服务器无法处理请求。有关错误的更多信息,请打开服务器上的IncludeExceptionDetailInFaults(从ServiceBehaviorAttribute或从配置行为),以便将异常信息发送回客户端,或者根据Microsoft .NET Framework 3.0 SDK文档打开跟踪。并检查服务器跟踪日志。 这令人困惑,因为我正在运行.NET 4.0。 我在哪里打开IncludeExceptionDetailInFaults?我正在努力寻找它。

18
CryptographicException'密钥集不存在',但仅通过WCF
我有一些代码可以调用使用X.509认证保护的第三方Web服务。 如果我直接调用代码(使用单元测试),它将正常工作。 部署后,将通过WCF服务调用此代码。我添加了另一个调用WCF服务的单元测试,但是当我在第三方Web服务上调用方法时,此失败并CryptographicException显示消息"Keyset does not exist"。 我认为这是因为我的WCF服务将尝试使用与我自己不同的用户来调用第三方Web服务。 任何人都可以在这个问题上提出更多的建议吗?
157 .net  wcf  x509 



13
(413)请求实体太大| uploadReadAheadSize
我已经用.NET 4.0编写了WCF服务,该服务托管在x64带有IIS 7.5的Windows 7 Ultimate系统上。一种服务方法以“对象”作为参数,我试图发送包含图片的byte []。只要该图片的文件大小小于约。48KB,一切顺利。但是,如果我尝试上传更大的图片,则WCF服务返回一个错误:(413) Request Entity Too Large. 因此,我当然花了3个小时来搜索错误消息,并且我所见过的关于该主题的每个主题都建议提高'uploadReadAheadSize'属性。所以我要做的是使用以下命令(10485760 = 10MB): "appcmd.exe set config -section:system.webserver/serverruntime/uploadreadaheadsize: 10485760 /commit:apphost" "cscript adsutil.vbs set w3svc/&lt;APP_ID&gt;/uploadreadaheadsize 10485760" 我还使用IIS管理器通过打开站点并转到“管理”下的“配置编辑器”来设置值。不幸的是,我仍然收到“请求实体过大”错误,这真令人沮丧! 那么有人知道我还能尝试解决什么错误吗?
136 wcf  iis 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.