我的应用程序有50个服务端点(例如/mysite/myService.svc)。它托管在IIS中。服务间歇性(每两天或三天一次)停止响应。挂起的服务永远不是同一个。当一个服务挂起时,其他一些服务工作正常,而其他一些服务也挂起
所有客户端(来自不同的计算机)都会收到此错误:
ServiceModel.CommunicationException
Message: An error occurred while receiving the HTTP response to
https://se
WCF有一个丰富的安全模型,我希望每个人都能同意这一点。我最近遇到了这样一种情况:我们的客户端应用程序(基于WCF的应用程序,利用域内用户的凭据)需要与我们必须部署到域和控制之外的数据中心的服务进行通信。因此,这打破了我们的单点登录模式,我想知道你们中是否有人成功地将安全模型扩展到了域之外的服务
我们的身份模型依赖于IIdentity和IPrincipal类(而不是WindowsIdentity/WindowsPrincipal),因此使用替代身份实现是可以的。正如我的问题所暗示的,我没有答案,
我们为几个不同的客户提供了几个站点,每个站点都有几个不同的数据库
有些数据库位于客户端,有些位于我们的站点
我的任务是创建几个sharepoint网站,以显示数据库中的信息
从我的sharepoint网站调用存储过程可以吗?由于数据库不是用于sharepoint站点的,我觉得该站点不应该直接访问数据库,而应该通过web服务获取数据。当然,如果数据暴露给另一家公司,情况会是这样,但既然我们要对所有数据负责,这样可以吗?在我看来,直接访问数据库可以避免很多麻烦,因为您可以控制两端。直接访问数据库也比
我最近在WCF中遇到了这个设置,您可以在其中启用WMI日志记录。它登录到哪里?记录了什么?没有提到那件事。。
请让我知道……这是解释和示例
<system.serviceModel>
<diagnostics wmiProviderEnabled="true">
请帮我解决这个问题
我有一个客户端使用WCF。我不想让这个客户端知道它从服务获取数据。我想使用这样的模型,这样我就更容易对代码进行单元测试,并在以后替换给定接口的实现。这个模型的问题是我无法关闭ChannelFactory。我不确定我是否需要给close打电话,但感觉不错
所以我的问题是:
当客户端只应该知道服务的接口时,有人知道关闭ChannelFactory的好模式吗?或者是渠道工厂被某种魔法关闭了
下面是一些示例代码,希望您能够理解这个问题:
static void Main(st
下面是一段支持Ajax的WCF服务模板的代码。我该怎么做才能让它返回JSon而不是XML?
谢谢
您是否尝试过:
[WebGet(ResponseFormat= WebMessageFormat.Json)]
如果要使用$.ajax({type:“POST”,…)中的POST动词,则需要使用[WebInvoke(method=“POST”]标记方法
由于您将其标记为[WebGet](相当于[WebInvoke(Method=“GET”)]),因此您应该使用GET动词调用服务,例如:
$.aja
假设有人使用微软的实体框架作为ORM来抽象/处理数据库。接下来是一个需求,它导致应用程序需要同时使用WCF服务和传统数据库
据我所知,没有任何ORM工具可以像实体框架一样抽象WCF服务
市场上有什么东西可以帮助完成这项任务吗?目标是以这样一种方式抽象WCF和传统数据库,使领域程序员觉得它们好像在使用一个数据库。他们不必关心或担心下面的实体被分解并保存在多个位置(WCF或数据库)
---编辑---
请注意,WCF服务是我们无法控制的第三方。但与此同时,我们还需要与一个完全不同的数据库进行对话,这恰
假设您有一个可以通过HTTP和HTTPS访问的WCF服务,但您只希望某些方法可以通过HTTPS访问——我如何检查当前请求是否为HTTPS?由于HttpContext为空,您不能简单地检查HttpContext.Current.Request.IsSecureConnection——还有其他想法吗?提前感谢。HTTPS通过与HTTP不同的端口提供。假设您知道端口,也许检查一下就足够了。考虑一下,WCF应用程序也可以作为Windows服务托管,根本不需要ASP.NET,在这种情况下,就没有“安全”和
有人能在WindowsPhoneSeries 7模拟器上使用WCF进行通信吗
在过去的两天里,我一直在努力,而这一切都发生在我身上。我可以在Silverlight 3和Silverlight 4中使用普通的Silverlight控件,但在手机版本中不能。以下是我尝试过的两个版本:
版本1-使用异步模式
版本2-阻止WCF调用
以下是不使用异步模式的版本
[System.ServiceModel.ServiceContract]
public interface IAuthentication
{
我有几个类,比如Order、Customer等。这些类仅用于保存数据。我希望将来能够在其他项目中重用这些类,但由于某些原因,我不太明白,WCF迫使我用[DataMember]属性修饰数据成员,迫使我引用我在其他项目中永远不会使用的WCF管道
我可以想象WCF允许您获取任何可序列化类并将其用作内容类型。我理解正确吗?是的,对于.NET 3.5 SP1,WCF DataContractSerializer现在将以与XmlSerializer相同的方式序列化任何POCO类-任何公共属性都将被序列化
我
我使用代码生成器创建具有双向序列化属性的业务对象,这些对象可以使用WCF从服务器发送到客户端。这过去是可行的,但我已经切换了计算机,现在我似乎只有单向序列化,即使源代码没有改变
这是一个我仍然希望序列化的属性:
partial void OnApplicationIDChanging(int value);
partial void OnApplicationIDChanged();
private int _ApplicationID;
[Column(Storage=@"_Applicati
我一直在研究各种示例,试图为ASP.Net web服务和WCF RESTful web服务拼凑一个基于SAML令牌的身份验证解决方案。。。我提到的一些样本:
等等
我一直在努力克服每一个障碍,我离得很近,我能尝到它的味道。我最近遇到的一个问题是:
如果我使用常规的WebServiceHostFactory,则会应用自定义授权策略,并且Thread.CurrentPrincipal最终会采用HttpModule为HttpContext.Current.User设置的值。。。但是如果我使用
标签: Wcf
web-configappsettings
我有一个WCf项目,
将以下代码添加到配置文件(Web.config)时:
。。。。
在开始调试时,我遇到以下错误:
“无法在web服务器上启动调试。web服务器配置不正确。有关常见配置错误,请参阅帮助。在调试器外部运行网页可能会提供更多信息。”
当我删除appsettings时,WCFTestClient将打开
如果不是这样,我如何在web.config中定义常量?我认为这就是问题所在。应用程序设置部分定义为
。
我希望您已经在web.config中定义了服务设置
<system.se
我想在单个服务中使用wshttpbinding(带SSL和不带SSL),但它不起作用,任何人都实现了它。那么,请指导我如何实现这一目标
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="CommonBehaviour">
<dataContractSerializer maxItemsInObjectGraph="214748364
标签: Wcf
workflow-foundationworkflow-foundation-4appfabric
我已经成功地使用服务器AppFabric实现了一些工作流
但是,我注意到,当我尝试使用namePipeBinding与工作流通信时,调用成功地为客户端工作(该调用在服务的接口定义中标记为IsOneWay=true)但是在AppFabric仪表板中,我可以看到消息被成功处理,然后我们得到的调用显示为“服务异常”,异常如下
System.ServiceModel.CommunicationException: There was an error reading from the pipe: The
我正在尝试在Silverlight客户端和Java服务器之间设置一个web服务。我需要从Silverlight客户端发送用户名令牌(用户名/密码),以进行身份验证。因为这是一个概念证明,所以我希望保持简单,并使用HTTP作为我的传输层。但是,Silverlight似乎只支持HTTPS上的用户名令牌(VisualStudio无法从通过HTTP提供用户名令牌的Java服务器中解析WSDL)
所以我的问题是:如何在Silverlight客户端发送的SOAP头中添加用户名/密码信息?仍然使用basicH
我对创建REST服务非常陌生,但我一直在寻找新的“WCF REST服务模板40(CS)”
然而,我希望能够使用温莎城堡和接收器,但还没有真正能够想出如何做到这一点
新的“WCF REST服务模板”似乎没有实现接口,那么如何配置Castle来实现它的动态功能呢
短暂性脑缺血发作
瑟伦这不是一件简单的事情。您需要处理一些WCF扩展机制,并实现自定义IInstanceProvider行为,以便将Windsor连接为WCF中的IoC。很久以前我写过一篇关于如何使用Microsoft Object Bui
我设置了一个WCF服务来通过HTTP和。这有点管用。HTTP协议100%工作。问题在于net.msmq。当我检查队列时,消息已经下降了1,我认为这意味着它正在被处理。但与此同时,这项服务不再提供。我收到来自的403服务不可用错误。当我清除队列并重置站点时,服务再次可用
消息队列对每个人都有完全权限,并且服务不做任何事情(说真的,它只是一个存根方法),所以它不是代码问题
合同标记为单向,操作为*
消息进入队列(一次发送10条),并且至少有1条消息被拉入(计数下降到9条)
net.msmq侦听器服务
标签: Wcf
enumerationnetdatacontractserializer
我将NetDataContractSerialiser与WCF一起使用。这在我们所有的类型都被序列化的情况下运行良好。但是,我正在调用的服务正在生成以下异常
格式化程序在尝试反序列化消息时引发异常:
尝试反序列化参数时出错。InnerException消息是“反序列化程序无法加载要反序列化的类型,因为类型”System.Collections.Generic.EnumEqualityComparer`1[[Grafted.Common.DomainModel.Code.Enums.enumFun
我正在将文件从客户端上载到服务器。。。当服务器程序接收到流时,属性长度不受支持,并且CanSeek为false,如何进行查找??如果我在客户机中阅读并在消息契约中作为消息头发送,我可以得到长度,但不知道如何查找。想法???这里的流示例实现了您的目标
WCF\Basic\Contract\Service\Stream\CS\Stream.sln
这里对示例进行了解释
WCF不是用于文件传输的技术。此外,内部使用的StreamFormatter不支持seek,因为分布式应用程序中seek的整个思想都
我有那项服务
[OperationContract]
[WebGet(UriTemplate = "/GetData")]
List<FieldInfo> GetSerializedData();
[运营合同]
[WebGet(UriTemplate=“/GetData”)]
列出GetSerializedData();
和web.config
<system.web>
<webServices>
<
我读了几篇关于为SharePoint 2010创建自定义WCF服务的文章,每一篇都建议在SharePoint项目下创建它(与创建单独的WCF应用程序项目或WCF库相反)。还有,我遇到了
所以我的问题是:是否可以创建一个独立的WCF服务,并在SharePoint内部部署它(假设我不希望此服务成为我的wsp的一部分)?最佳实践是什么
谢谢。如果要在SharePoint web应用程序中部署它,它必须是wsp文件的一部分。您可以创建可以连接到SharePoint网站集的独立wcf服务,也可以使用Sha
标签: Wcf
Rest
global-asaxidispatchmessageinspector
我想记录通过我的WCF REST服务传输的请求参数和响应主体。我可以在IDispatchMessageInspector中访问完整响应。我可以在应用程序_EndRequest中的操作期间访问请求头和存储在Context.items中的其他项
在调试期间,我看到操作通过IDispatchMessageInspector,然后通过应用程序请求。我的想法是将响应存储在IDispatchMessageInspector中的某个位置,然后在Application_EndRequest中,检索响应并将其与其
我已将作为服务引用添加到my web服务中。我可以使用IDE中的方法,但在IIS中托管相同的方法时,我遇到以下错误:
错误1:
无法连接到(请参考上面的url)。TCP错误代码10060:连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机未能响应69.20.116.221:80
错误2:
在(请参考上面的url)上没有可以接受消息的端点侦听。这通常是由不正确的地址或SOAP操作引起的。有关更多详细信息,请参阅内部异常(如果存在)
也许你有防火墙阻止你的网络服务器
我有一个WCF服务,使用Apache2.2.15中托管的basicHttpBinding,在CentOS中使用mod_mono。我在/etc/httpd/conf/httpd.conf的末尾添加了以下指令以启用WCF服务:
MonoServerPath default /usr/bin/mod-mono-server4
AddType application/x-asp-net .svc
当我尝试从windows中的客户端调用服务中的操作时:
BasicHttpBinding
我正在尝试访问一个SOAP服务,该服务为请求返回一个映像。内容类型为image/png。现在我在调用该方法时得到以下ProtocolException:
响应消息的内容类型image/png与绑定的内容类型不匹配(text/xml;charset=utf-8)。如果使用自定义编码器,请确保正确实现IsContentTypeSupported方法。响应的前1024个字节是:
在这之后,接下来的几个字节可能属于图像
我使用VS 2012“添加服务引用”对话框生成了服务引用。我发现了几个类似的问题,但
在阅读有关传输安全性的文章时,我读到“当您的客户机和服务之间没有中间系统时,传输安全性很好”
我们所说的“中间系统”是什么意思 使用SSL,安全属性仅在连接的两个端点之间有效。如果您有中间系统,那么将在您的系统和中间系统之间提供SSL安全性。不是在您的系统和最终系统之间
这里的Intermate系统是WCF服务器。您了解“Intermate”吗?您了解“系统”吗?实际上,无论您的客户机和服务之间是否有任何中间系统,传输安全性都是非常好的。我刚刚从MS的文档中找到了一个部分答案:部分答案是:使用X
我目前在WCF服务上有以下绑定:
及
使用相应的端点:
其思想是让调用“BasicHttpEndpointBinding”绑定的客户端需要NTLM身份验证,而调用“WebHttpEndpointBinding”的客户端能够匿名执行此操作(通过jQuery进行RESTful调用)
虽然这在我的机器上似乎可行,但在IIS 7.5托管环境中似乎可行吗
谢谢。对于每个绑定,您需要一个单独的端点
复制现有的端点,然后更新地址和绑定
/{myService}
每个绑定都需要一个单独的端点
复制现
我如何监控Windows Azure上wcf服务(自托管)的流量?进入我的压力测试应用程序的数据量似乎与我在定价页面上看到的数据量不符(该页面似乎没有实时更新)。该服务使用https,消息非常小。SSL握手通信量可以忽略吗?我还有一个data miner worker roler,它不断地从互联网下载数据,但据我所知,入站流量是免费的,所以不应该计入出站流量
如何获得可靠的流量监视器?计费页面通常每天更新一次(24小时内更新一次)。因此,您必须等待很久,直到您看到您的压力测试结果添加到您的帐户的
我这里的情况很奇怪。我有一个使用库的WCF项目,实际上我有一个带有契约的.svc,所有的逻辑都在不同的.DLL中。一个解决方案2项目
我的想法是,在库中我使用App.Config文件(实际上是Settings.Settings文件),但当我编译WCF并使用VS publish时,我在web.Config中找不到设置。该项目工作正常,但我不知道设置存储在哪里
有人知道吗?嗯,经过一些研究和尝试,在这种情况下,Settings.Settings只是嵌入到.DLL中,没有额外的.configurati
因此,在WCF中创建服务实例时,有3个选项:
每次通话
每节
独生子女
我知道在选项1的情况下,只要服务完成调用,实例就会被处理掉
我的问题是其他两个选项是什么?每次会话创建的服务实例或作为单实例创建的服务实例何时以及如何处置?Easy-只要GC决定处置。因此,当客户端在代理中调用close()方法时,客户端-服务器连接关闭,但服务实例保持活动状态?运行时将对对象进行垃圾收集。在托管语言中,这不是您必须关心的问题。
标签: Wcf
C# 4.0
query-stringquerystringparameter
我是WCF的新手,我正在构建一个服务来执行CRUD操作。我创建了一个新的void方法,它采用两个参数。我已设置断点,并在调试模式下粘贴了此URL:
http://localhost:55152/WcfDataService.svc/AddNewNote()?ParamNoteTitle='dfdfdf'&ParamNoteText='dfdfdfdf'
这是我的代码:
[WebGet]
public void AddNewNote(string ParamNoteTitle,
我有一个WCF服务,正在尝试使用installutil安装它,因此在执行安装时会出现以下错误:
The service MyService has been installed correctly.
Creating the EventLog source MyService in the Application Registry...
Exception during the installation phase.
System.ArgumentException: The source c
我将WCF ServicehostFactory用于我的WCF服务,并与unity一起使用接口进行服务和存储库/DAL实例化
我想将程序集加载到我的appdomain中(在服务实例化之前),其类型在Unity DI的web.config中注册
<assembly name="Customer.DAL.AdventureWorks"/>
<assembly name="Customer.DAL.Blogger"/>
<assembly name="Customer.I
我正在努力理解为什么我不应该在互联网上使用WCF传输安全。据我所知,啤酒花链可能不安全。但是,传输安全性难道不像https(在互联网上被广泛使用)那样吗?或者我应该问,wcf传输和https之间有什么区别
如果我需要更清楚地解释自己,请评论
谢谢请在您提供的链接上查看另一个答案。它解释了当客户端不检查服务器证书时,传输安全性不足的情况。我引述以下答案:
是的,当客户端(大多数客户端都这样做)验证服务器证书时,它是100%安全的
这里提到的多跳场景完全是假的。只有当相同的消息通过不同的应用程序时
标签: Wcf
system.diagnostics
我有一个集成测试项目,在使用外部WCF服务的类上运行测试
在MyApp.IntegrationTests中,我有一个app.config文件,看起来像:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
</connectionStrings>
<appSettings>
</appSettings>
我在windows server 2008中托管的服务中指定了这样的绑定
<bindings>
<wsHttpBinding>
<binding name="transactionalWsHttpBinding"
transactionFlow="true" />
</wsHttpBinding>
</bindings>
我应该安装ws-atomic功能吗?如果我试图在服务器中安装WSAtomic事务功能,我将被迫添
在Visual Studio 2013中,我设置了一个WCF应用程序。我的设置与上发布的示例完全相同。当我试图从另一个项目导入我的服务引用时,我得到以下错误。我已经使用Nuget将Ninject.Extensions.Factory添加到WCF项目和引用项目中,但仍然得到相同的错误
Warning 1 Custom tool warning: Cannot import wsdl:portType
Detail: An exception was thrown while running a
我希望有基本的和Ws-over-HTTP-安全性不是问题,在不同的URL上有netTCP绑定
<service name="WCFService.IHelloService" behaviorConfiguration="MyDefaultBehaviour">
<endpoint address="basicHttpAddress" binding="basicHttpBinding" contract="WCFService.IIHelloServi
我必须更改xmlns:wsa=”http://www.w3.org/2005/08/addressing. 我们如何在WCF中发送请求之前实现这一点
我尝试使用断言和策略执行此操作,但它删除了我的所有安全头。您是否尝试在绑定上配置textMessageEncoding元素?请参阅文档中的设置messageVersion(文档不完整;据我所知,版本Soap11和Soap12也可用).您是否尝试在绑定上配置textMessageEncoding元素?请参阅文档中的设置messageVersion(文
我的应用程序中有一个编排,它从MSMQ接收XML消息作为输入,对其进行处理,然后最终将其发送到入站WCF发送端口。现在,入口端口设置了以下配置-
应用程序:MyApplication
优先次序:5
路由失败消息:false
失败时停止发送:false
发送管道:Microsoft.BizTalk.DefaultPipelines.PassthrupTransmit
动态:错误*
双向:错误
地址:
类型:WCF WSHttp
发送处理程序:BizTalkServerApplication
我
标签: Wcf
Ssl
httpwebrequestx509certificate2
我有一个WCF服务应用程序,它应该连接到另一个服务器X以检索数据。当服务器X配置为单向SSL时,WCF服务应用程序能够毫无问题地连接到它。但是,当服务器X配置了双向SSL时,WCF服务应用程序将无法连接到它
WCF服务应用程序使用自签名证书。此证书在没有私钥的情况下导出到.cer文件中,并导入到服务器X的信任存储中。WCF服务应用程序的代码中使用了相同的导出证书:
string URL = "https://11.205.112.49:5311/Ping";
HttpWebRequest Req
从IIS浏览Outlook.svc时出错。
使用以下搜索条件找不到X.509证书:StoreName“My”、StoreLocation“LocalMachine”、FindType“FindBySubjectName”、FindValue“”因为您的WCF服务使用证书来保护通信安全,它通常基于传输层或消息层来加密和签名消息。
这使得在IIS中托管WCF服务时需要为该服务配置证书。
证书通常存储在windows计算机的证书存储中,分为当前用户和本地计算机。
您可以使用以下shell命令访问它
当
我正在尝试添加连接的服务以生成代理类,但出现此错误
您可以尝试使用dotnet svcutil工具。Windows通信基础(WCF)dotnet SvCuTIL工具是.NET工具,它从网络位置上的Web服务或WSDL文件中检索元数据,并生成包含访问Web服务操作的客户端代理方法的WCF类。
与.NET Framework项目的服务模型元数据-svcutil工具类似,dotnet svcutil是一个命令行工具,用于生成与.NET核心和.NET标准项目兼容的web服务引用
有关“用于.NET Co
我在尝试通过WCF服务传递DTO时遇到以下异常
System.Xml.XmlException: The maximum read depth (32) has been exceeded because XML data being read has more levels of nesting than is allowed by the quota. This quota may be increased by changing the MaxDepth property on the X
标签: Wcf
messagebehaviorinspector
我正在尝试创建并配置一个消息检查器,以对WCF Rest HTTP请求执行某种身份验证。我正在使用4.0,因此试图避开WCF初学者工具包,尽管我已经设法让一个旧的RequestInterceptor以我想要的方式工作。使用RequestInterceptor的问题是,我丢失了WebHttpBehavior提供的支持自动格式选择的功能,我真的想保留这些功能
因此,我的问题是如何配置消息检查器,使其仍然使用WebHttpBehavior并保留其功能
我的web.config如下所示
<
标签: Wcf
Soap
ws-securitysoap-clientwsse
我正在尝试与一个我无法控制的JavaWeb服务通信,并且我正在尝试创建一个可以工作的绑定
标头中不允许使用时间戳,因此为了使用includeTimestamp=“false”属性,我必须使用
他们正在使用MTOM,所以我必须使用元素
这是我的元素:
<bindings>
<customBinding >
<binding name="MyBindingName" >
<mtomMessageEncoding />
注册WCF服务时,我得到
HTTP could not register URL http://+:8080/ because TCP port 8080 is being used by another application
查看使用过的端口
netstat -an | grep 8080
我可以看到使用了TCP 127.0.0.2:8080(我使用ssh从127.0.0.2:8080隧道到远程服务)
可能WCF服务不仅尝试在127.0.0.1和网络IP上注册,还尝试在127.0.0.2
首先,我对WCF和IIS相当陌生
我已经创建了一个WCF双工服务。它运行良好,托管在我的开发PC上的IIS中。我可以创建一个服务引用,所有运行正常
然后,我在IIS的Win2008服务器上托管了它。在IIS中,当我单击“浏览到192.168.0.2:8020(http)”链接时,它会打开文件夹浏览页面。单击Service.svc文件将显示服务的WSDL页面
但单击任一WSDL链接都会出现未找到错误。此外,WSDL链接中包含服务器名称而不是IP地址:
如果我在提供的指向我的IP的WSDL链接中更
我通过WCF将数据传递到前端,并使用jQuery绑定绑定数据。从WCF我需要传递大量的数据,所以加载需要花费很多时间。通过浏览其他帖子,我知道GZip可以用于此目的。但我不知道这个过程。请帮我做这件事
提前感谢在WCF中压缩大输出有两种常见方法:
将IIS配置为使用压缩。首先,压缩功能必须包含在服务器的安装中(不是默认设置)。第二,您可以使用IIS管理器查找每个应用程序的“压缩”功能并启用它。MSDN对每个步骤都有一些很好的说明
将WCF配置为使用Mtom压缩。这是在web.config的