ICommunicationObject上的Close方法可以引发MSDN概述的两种类型的异常。我理解为什么Close方法可以抛出这些异常,但我不理解的是,为什么服务代理上的Dispose方法调用Close方法而不使用try。您的Dispose方法不是您想要确保不会抛出任何异常的地方吗?它似乎是.NET代码中常见的设计模式。这是一篇来自
如果Close是该区域的标准术语,请考虑在Dispose()之外提供方法Close()。执行此操作时,使Close实现与Dispose相同非常重要
您可以在下面
我们必须连接到第三方SOAP服务,我们正在使用WCF来连接。该服务是使用ApacheAxis开发的,我们无法控制它,也无法改变它的工作方式。
我们看到的问题是,它希望使用Web服务安全性格式化请求,因此我们正在执行所有正确的签名等操作。但是,来自第三方的响应不安全。如果我们嗅一下电线,我们会看到响应很好地返回(尽管没有任何时间戳、签名等)。
底层的.NET组件将此作为错误抛出,因为它将其视为安全问题,因此我们实际上不会收到soap响应。是否有任何方法可以配置WCF框架以发送安全请求,但响应中不需
我在连接wcf服务时出错
响应消息的内容类型text/html与绑定的内容类型不匹配(application/soap+xml;charset=utf-8)
下面是我的wcf服务配置文件:
<?xml version="1.0"?>
<configuration>
<customErrors mode="Off">
</customErrors>
<system.serviceModel>
<servi
我想使用WCF编程一个游戏。我使用的是所有消费者都使用的单个游戏对象。当其中一名玩家移动时,我如何通知所有其他玩家?我建议您看看XNA。它是一个为Windows、Xbox 360和Zune编写游戏的托管框架,并且支持多玩家、处理图形等。更多信息请访问
一般说明
System.ServiceModel.CommunicationException was unhandled by user code Message="An error occurred while trying to make a request to URI 'mysite/myservice.svc'. This could be due to attempting to access a service in a cross-domain way without a
我开发了一个自定义绑定,它可以在http上工作,因此返回http作为它的方案。我当前返回此方案的代码如下:
我对绑定的派生使用
public override string Scheme {
get { return this.transportElement.Scheme; }
}
其中transportElement是我的自定义TransportBindingElement的一个实例,其中方案由
public override string Scheme {
get { r
我有wcf服务。服务本身(继承的类)有一个构造函数,该构造函数有时会抛出异常。如果服务失败,我想向用户显示一条消息。我是否应该像使用服务方法一样使用故障?故障通常意味着跨服务边界提供错误信息,在大多数情况下,故障是作为对格式错误或无效请求消息的响应发送的。考虑到这一点,我认为这里的错误是没有意义的
我同意上面的评论,服务类的构造函数应该避免抛出异常。如果您的服务是会话式的,那么您可能需要考虑一种设计,在这种设计中,这种类型的初始化是特定服务操作的结果。这可以在WCF中通过在[OperationC
我整天都在与SvcUtil搏斗,试图让它为一些IMS企业服务生成有用的代码(主要是组管理服务,但我们也需要它来处理其他服务)。您可以在这里找到IMS服务WSDL
我得出的结论是,SvcUtil是微软的一个无用的事后想法,它不支持WSDL和XSD标准,甚至是半途而废。它无法生成符合IMS同时使用和运行的标准WSDL契约的WCF服务。尽管从以下WSDL()生成了可编译的代码,但通过观察从WCF服务生成的WSDL(?WSDL、?WSDL=wsdl0、?xsd=xsd0等)可以看出,这些操作都不存在,并
标签: Wcf
clientws-security
我正在尝试将WCF客户端配置为能够使用返回以下响应消息的Web服务:
响应消息
为此,我构建了一个无法工作的自定义绑定。我一直收到一条安全标题为空的消息
我的装订:
我的请求似乎使用了与响应相同的SOAP和WS-Security版本,但使用了不同的名称空间前缀o而不是wsse。这可能是我一直收到安全标头为空消息的原因吗
请求消息
我需要如何配置我的WCF客户端绑定才能使用此Web服务
非常感谢您的帮助
Sander我的问题似乎在以下kb文章中得到了解决:
尚未下载修复程序,因为似乎没有可用的下载
我在使用wcf服务时遇到了这个奇怪的问题
l2sqldal。
服务器托管在本地主机上,并包含相应接口的实现。客户机熟悉该接口,偶尔会通过使用tcp传输的公开服务查询数据库。
当客户端在本地运行时,一切正常。
但是,每当客户端在另一台计算机上运行时,“InvalidOperationException”就会在System.Data.dll中抛出(传输仍会被传递),并且随着时间的推移,通道会进入“Faulted”状态(而传输无法被传递)。
我觉得我的申请缺少一些非常基本的东西。
有人能指出这种奇怪行
我有一个asp.NET2.0网站,里面有WCF服务,运行在.NET3.5框架上。该网站仅使用集成Windows身份验证进行设置。web服务器是IIS 6,在Windows 2003 Sp2服务器上具有负载平衡。我无法使用完整url访问WCF服务.svchttp://myqa2.abcdefg.com/trxn/WCFTrxnService.svc. 还要注意,服务器配置了多个主机头。本网站受siteminder保护。起初我犯了一个错误
此集合已包含具有方案http的地址。此集合中每个方案最多只能
我在WCF中使用DiscoveryEndpoints,但我注意到,当发现服务并联系DiscoveryEndpoint时,它实际上会导致创建服务实例。我不要这个
这几乎可以肯定与我正在使用自定义实例提供程序(以支持StructureMap)这一事实有关,它将自定义InstanceProvider应用于每个EndpointDispatcher
似乎我只想为其契约实际上与服务实现匹配的端点应用定制InstanceProvider
有什么想法吗?我想我已经解决了。。。我只是忽略了任何已设置IsSyste
我需要在Windows窗体应用程序中托管WCF服务,并从Windows服务调用WCF服务,该服务将向WCF服务发送数据,WCF服务将在Windows窗体应用程序(桌面应用程序)中显示数据
我如何实现这一点?我需要的代码工作正常并且以前尝试过。请使用以下代码在Windows窗体应用程序中承载WCF服务:
using System.ServiceModel.Channels;
ServiceHost host = new ServiceHost(typeof(MyNamespace.OrderSer
我正在运行的这个类似聊天的应用程序中使用双工WCF合同。(显然不是真正的聊天,但出于思考的兴趣,你可以假设它足够相似)
问题是,许多讨论此合同的客户机都在运行dhcp,对此我无能为力
使用dhcp处理双工通信的最佳方法是什么?我找到一个设置,这意味着我可以在运行时更新此值。。。。看起来有点笨拙
更新
我发现在我的WCF服务器日志中,部分问题在于它将主机名放在了响应地址中。我做错了什么
谢谢你直截了当地说,你做错的第一件事就是使用DualHttpBinding做双工。整个绑定是一个巨大的难题,很容
标签: Wcf
Azure
claims-based-identityfederated-identitywif
我正在使用他们用来验证活动联合用户身份的位置。现在我想从WCF服务中访问用户的声明
根据,声明由请求线程访问。。。有人能解释或演示这意味着什么吗?请求线程就是在服务器上执行服务API的线程。从该线程(即您的服务api中),您可以访问thread.CurrentPrincipal.Identity。这将是一个索赔实体,其中包含您的STS授予您的索赔。例如:
class MyService:IService
{
// code running on wcf server
bool A
标签: Wcf
wsdualhttpbinding
我犯了一个非常恼人的错误:
我的场景-使用wsdualhttpbinding在WCF中实现的简单消息/邮件服务器\客户端(双用于回调,新消息的在线更新)
所有安全配置都是用代码编写的(根本没有*.config)。在第一次连接时,客户端抛出以下命令
[System.Security.Cryptography.CryptographyException]={“错误长度。\r\n”}
由于内部异常为NULL,因此不可能钻得更深。
服务器配置:
WSDualHttpBinding bindin
标签: Wcf
castle-windsorioc-containercastlewcffacility
当我试图在Castle Windsor中注册指向配置中存在错误的WCF服务的组件时,我试图获取错误消息。要注册我正在使用的组件,请执行以下操作:
container.Register(Component.For<MembershipService>().ImplementedBy<MembershipServiceClient>.LifeStyle.Transient);
container.Register(Component.For().ImplementedBy.
我四处搜索,找不到任何显示如何使用razor使用Webmatrix使用WCF Web服务的内容?我不想在jQuery中使用它,我想实际使用C#/razor语法。有什么想法吗?任何帮助都将不胜感激
Chris如果您正在从Visual Studio中查找类似“添加服务引用”的内容,则它在Web Matrix中不可用。您需要手工编写所有管道,或者使用VisualStudioExpress产品之一(http://www.microsoft.com/visualstudio/en-us/products/
我有一个名为Customer的datacontract,有两个OperationContract,比如CreateCustomer()和UpdateCustomer(),它们将Customer作为数据契约
现在,我需要在UpdateCustomer()中隐藏Customer datacontract的一些属性。例如,在客户数据契约中有一个名为SSN的属性。此属性应在CreateCustomer()中可见,并且不应在UpdateCustomer()中用于更新。你知道怎么做吗
我们是否需要两个Ope
假设WCF服务的ServiceBehavior.ConcurrencyMode=Single
服务何时开始阻止并发调用
例如,假设我们有两个客户机:慢客户机和快客户机
At time 0 Slow starts a slow service call that includes a huge chunk of data.
At time 1 Fast makes a fast service call.
At time 2 the slow data finally arrives and th
标签: Wcf
Iis
datacontractserializer
我断断续续地为这件事挠头已有好几年了
我希望有人能提供一些见解。首先是
例外
活动返回异常:格式化程序引发
尝试反序列化消息时出现异常:出现错误
尝试反序列化参数时。
InnerException消息是“第1行位置837中的错误”。元素
'http://schemas.datacontract.org/2004/07/Agatha.Common.Request'
包含映射到名称“http://
schemas.datacontract.org/2004/07/
MyCompany.MyProdu
我在IIS 6中有一个WCF web服务,并试图让它通过SSL工作。当我调用该服务时,出现以下错误:
无法处理该消息。这很可能是因为该行动http://tempuri.org/IARPolicyComposer/GetTemplatesList'不正确,或者因为消息包含无效或过期的安全上下文令牌,或者因为绑定之间不匹配。如果服务因不活动而中止通道,则安全上下文令牌将无效。为了防止服务过早中止空闲会话,请增加服务端点绑定上的接收超时
以下是服务配置:
<system.serviceModel
如何在Windows XP IIS 5.1中部署使用Visual Studio 2010(Framework 4.0)制作的WCF服务应用程序?在IIS中创建一个新的虚拟目录以承载WCF服务应用程序-您可以将应用程序放在inetpub\wwwroot中,或者让虚拟目录指向应用程序的物理位置
在虚拟目录的属性中,确保ASP.NET选项卡的ASP.NET版本设置为4.0.30319
另外,请确保您的Web.config文件具有适用于您部署到的环境的正确设置(例如,服务地址和可能特定于该环境的任何其他
标签: Wcf
msmqservice-reference
在大多数使用MSMQ传输的WCF服务示例中,始终首选在Visual Studio命令提示符中使用svcuti手动创建代理,而不是简单地添加服务引用。当您可以通过向VisualStudio中的“添加服务引用”对话框提供服务的端点地址来引用服务时,为什么要使用VS命令提示符创建代理(因为这样做稍微费力一点)?我只是在阅读时偶然发现:
请注意,在中无法轻松使用添加服务引用向导
Visual Studio添加对使用MSMQ的WCF服务的引用
运输
到底为什么这么难?前一种引用WCF服务的方法有什么好处(
标签: Wcf
wcf-securitywcf-bindingwcf-client
我需要在WCF客户端中使用SSL和HTTP身份验证来连接到web服务。我有如下所示的wcf客户端绑定配置和代码,用于加载证书并传递用于http授权的用户名和密码。尝试此操作时,我收到一个错误“http请求未经客户端身份验证方案‘匿名’。来自服务器的身份验证为‘Basic realm=“ws.dataway.com:443’”。远程服务器返回一个错误:(401)未经授权。任何人都可以告诉如何解决这个问题,以及需要在绑定配置中更改什么?谢谢
<basicHttpBind
我在Windows server 2008计算机上安装了WCF服务,我正在从运行在Windows 2000计算机上的.net framework 2.0 Windows应用程序访问该服务。我能够连接到WCF服务并执行一个简单的方法。在我的WCF服务中,我有一个对COM dll的引用,但是当我试图调用一个访问这个客户端COM对象的方法时,我得到了一个错误
正在检索具有CLSID的组件的COM类工厂
{XXXXXXXXXXXXX}由于以下错误而失败:80070005访问失败
否认
CLSID用于为c
我目前正在看一些代码,这些代码基本上是从文件中逐行读取数据,并在WCF客户机上为每一行调用适当的方法。我对代码的问题是,每个操作都会创建一个新的客户端,即:
function CallSomeOp(line)
{
using (var client = new Client()
{
client.SomeOp(line);
}
}
这似乎使客户端关闭连接,并为文件中的每一行重新打开一个新的连接,这似乎是一个很大的开销。我想做的是将客户机的创建移到函数外部并进
在WCF 4.0服务中,我们在一个通用列表中接收到大量数据。此列表对象图大于65536默认限制。我们已经非常习惯了,所以我们已经配置了能够获取这些大图的服务
<serviceBehaviors>
<behavior>
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>
</serviceBehaviors>
我正在尝试向WCF rest服务发送跨域帖子。以下是获取请求的我的服务代码
[WebInvoke(UriTemplate = "", Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
public SampleItem Create(SampleItem insta
我有一个.NET4项目,它必须使用SOAPWeb服务。我在VisualStudio(2008/2010)中有一些添加web引用的经验,并且我使用web服务引用工具
在我开始之前:
我已将WSDL上载到
所以我的问题是:
我将我的Web服务引用添加到我的项目中,生成了类和方法,并编写了一些用于测试的基本代码。我已经让负责服务的人员确认了代码,并让我的PHP对应人员从相同的WSDL生成一些PHP文件
问题是响应对象包含空属性。我没有例外
我接下来尝试的是:
我尝试使用WSDL.exe创建类文件,它确
我在VS2008中使用WCF服务应用程序模板创建了一个WCF Web服务。
在同一个解决方案中,我创建了一个web应用程序项目,并将web引用添加到提供服务url的服务中
现在,当我从我的web应用程序项目调用服务方法时,我得到了一个超时,我无法从调用服务方法获得O/p。下面是我用来从服务调用方法的代码:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using Sys
标签: Wcf
wcf-data-serviceswcf-bindingwcf-client
我们可以在不使用VisualStudio中的add reference的情况下动态地向项目添加服务引用吗。元数据的Wsdl导入是否有助于实现这一目标?有人可以帮助我动态加载服务并将其附加到项目,并在wcf中使用客户端,或者为我提供实现这一目标的方法 NET framework有一个专用于此的命名空间,称为。从较高的层次上,您可以使用一个可以定位可供使用的服务的
为了能够找到带有服务信息的服务,需要通过类发送服务信息。此类允许服务发布公告消息。从文件中:
公告消息包含有关服务的信息,如其完全限定的
标签: Wcf
Iis 7
windows-server-2008x509certificatemmc
我有一个奇怪的问题,我在谷歌上搜索了又搜索,没有结果。我正在尝试为windows server 2008 R2上的wcf服务应用程序设置证书。我已经将证书导入到localmachine个人存储中,我得到了可怕的结果
"Keyset does not exist...the certificate ... must have a private key that is capable of key exchange. The process must have access rights for
我正在做以下工作
//Define the service host
this._smeediPluginServiceHost = new ServiceHost(typeof(SmeediServiceHost), smeediServiceUri);
this._smeediPluginServiceHost.AddServiceEndpoint(typeof(ISmeediServiceHost), GetBinding(), smeediService
我有以下代码:
public class MyDataService : DataService< MyCustomContext >
{
public static void InitializeService(DataServiceConfiguration config)
{
config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);
config.DataServic
我的外出soap没有签名。
下面是即将发布的soap的外观
<xenc:EncryptedKey xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
<KeyInfo xmlns="http://www.w3.org/20
我正在研究实现IDispatchMessageInputer和IClientMessageInputer,以查看AfterReceiveRequest和BeforeSendRequest方法中的消息对象。
我的要求是在WCF服务的代码级别进行更改。没有配置更改。
如何将此行为附加到调用此服务的所有端点和服务本身。实施iContractBehavior对我有帮助吗
编辑1:
WCF服务托管在IIS上。是否可以通过代码添加行为
编辑2:
似乎使用ServiceHostFactory我们可以实现这一点
我在访问WCF服务时遇到困难。我的服务是
运行在与MonoDroid应用程序相同的解决方案中,并由visual Studio托管
演播室我将其配置为BasicHttp。该引用在运行时添加ok
当我调用一个简单的测试方法时,我得到:
System.Net.WebException:错误:连接失败(连接被拒绝)
我正在呼叫本地主机上的服务:51559。
这是否与使用JQuery进行跨域web服务查询类似?
请求是否也来自本地主机(仿真器)
AsI发现,在向web应用程序调用我的wcf服务时,该应用程
如何实现基于类别的WCF通知
我想向寻求特定产品类别的客户发送通知,而不是通知所有客户
有没有可能请大家分享一下算法或者实现方法请大家分享
提前感谢,您正在寻找发布-订阅模式。看看这个谢谢你的回复。我已经用信号R而不是WCF实现了它。
我正在使用32位BizTalk 2013r1主机实例通过LOB适配器向Oracle发送插入请求
我需要跟踪正在发送的邮件正文。我已将btsntsvc.exe.config配置如下:
<configuration>
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="Verbose,ActivityTracing">
据我所知,ClientBase为通道工厂添加了内置缓存。但它应该出现在.Net(4.5)的更高版本中:
现在,我有一个简单的示例项目,看看是重复使用同一个客户机,还是为每个调用创建一个新的客户机来分析所花费的时间。下面是一些代码片段:
[ServiceContract]
public interface ISoapService
{
[OperationContract]
string GetData(int value);
}
客户端代码:
private static vo
我阅读了有关如何在Windows服务中托管Wcf服务的内容。这里有一个指南:
但我所做的只是在Windows服务的同一个项目中创建新的WCF服务类和接口,而不是单独为WCF服务创建一个新项目。
有可能吗?因为我无法从解决方案中的其他项目向该服务添加服务引用。它找不到了。好的,这是我找到的
创建一个新的解决方案,其中包含一个Windows服务项目、一个Wcf服务类和一个Asp.Net文件夹
正在运行Windows服务
正在尝试向Asp.Net项目添加服务引用
结果:找不到服务
将包含Wcf项目的
标签: Wcf
appfabricappfabric-cache
我在一个webfarm上有几个WCF服务,它们捕获发送给它们的每个请求对象并将其缓存,并在达到指定请求量后将其写入DB。这样做是为了最小化对DB的调用。我没有使用AppFabric缓存,而是使用内存缓存,这意味着每个节点的缓存都是独立的。一切都很好
我想在服务器上安装AppFabric并将请求写入该缓存。现在我的问题是,我可以在AppFabric本身上进行某种编程(可能是一个DLL)吗?AppFabric会定期从缓存中读取数据,写入数据库并将其刷新?因此,我的所有服务都将把请求放在缓存中。这将使
标签: Wcf
inversion-of-controlautofac
我试图在WCF中实现Autofac,但它不起作用
步骤:1
protected void Application_Start(object sender, EventArgs e)
{
var builder = new ContainerBuilder();
// Register your service implementations.
builder.RegisterType<DatabaseFactory>().As
我正在运行BizTalk 2013r2,但发布向导出现问题
我使用了BizTalk WCF发布向导,执行了以下步骤:
仅元数据端点MEX,为接收位置发布
将架构发布为WCF服务
更新web服务描述树视图以提供单个单向web方法
提供当前正在使用的目标命名空间
输入网站的位置为use localhost,选择Overwrite existing location,Allow anonymous access
生成的服务摘要如下:
<?xml version="1.0" encoding="u
我们正在尝试设置一个外部服务,以连接到AX以批准POs和费用。这将通过一个休息电话来实现
请有人给我们提供一份文档,或者我们可以查阅哪些信息来获取这方面的信息
干杯 一种方法是使用Visual Studio项目并按常规设计restful服务,但在自定义x++逻辑中使用代理类与工作流类交互,另一种方法可能是查看AIF来澄清,在高层,我们试图实现如下业务流程:-用户能够检索分配给他的采购订单的状态,待审批-然后用户能够批准或拒绝采购订单-然后用户操作触发AX中的相应工作流,并遵循AX中配置的升级/拒
标签: Wcf
Iis
microsoft-sync-framework
更新这似乎是由于服务器的物理内存不足造成的
我正在使用WCF同步框架将大约200000条记录上载到数据库。通过使用SQLServerProfiler,我能够验证web服务器是否收到记录并开始将其写入数据库。在写入大约60000条记录后,web服务器抛出一个异常。在一次尝试中,异常在7分钟后抛出;在另一次尝试中,9分钟后引发异常。堆栈跟踪
System.ServiceModel.CommunicationException: An error occurred while receiving th
因此,我们的企业正在使用Visual Studio走Xamarin路线。浏览所有在线文档表明,从web服务创建WCF代理客户端并将其放置在PCL中应该很简单。在苦苦挣扎并试图弄清楚为什么我不能使用slsvcuti.exe生成的类编译PCL,或者为什么“添加服务引用”菜单项丢失后,我放弃了并下载了示例项目
原来我一直缺少的是PCL的目标配置文件。对于Visual Studio 2015+Xamarin,默认配置文件设置为111。事实证明,配置文件111不支持WCF,因为它以Windows Phon
标签: Wcf
soapuisoap-client
我第一次尝试使用SOAPUI5.3.0。以下是我所做的:
已创建默认WCF项目并将其发布到IIS
确保我可以在此处访问WSDL:
打开Soap UI并选择文件/新建Soap项目
按照步骤2输入初始WSDL。项目名称将自动填充。单击“确定”
然后我看到这个窗口:
我键入Windows凭据(以访问代理服务器),然后看到此错误:
Error loading [http://MyComputer/WCFTest/Service1.svc?wsdl]: org.apache.xmlbeans.XmlEx
标签: Wcf
wcf-data-serviceswcf-ria-serviceswcf-bindingwcf-security
我的App.config文件是
<?xml version="1.0"?>
<configuration>
<system.serviceModel>
<services>
<service name="WcfJsonRestService.Service1">
<endpoint address="http://localhost:8733/service1"