我在windows 2003服务器上部署了WCF服务。我们正在使用WPF应用程序来使用此服务。问题是,如果我们部署新版本的WCF服务,或者让IIS和WPF应用程序闲置一段时间,然后尝试执行某项功能,我们会遇到以下异常:
The content type text/html of the response message does not match the content type of the binding (text/xml; charset=utf-8). If using a cust
标签: Wcf
publish-subscribe
是否可以仅通过使用事件(即不使用列表或字典)在WCF中实现发布者/订阅者模型
如果是,请向我提供一个示例应用程序的web链接,或任何讨论此问题的文章。事件在WCF中不可能发生。你必须使用。您可以在WCF中找到有关发布者/订阅者模式的一些信息 我建议您访问朱瓦尔·洛伊的网站。他是关于WCF的权威著作的作者。他的网站上有各种各样的免费示例,包括一个工作的WCF发布-订阅框架。在下载区域中查找。是。MSDN文章都是关于它的。有最新的文章吗?那个
不管出于什么原因,关键的第三个peaty Web服务的功能是这样的。我可以连接、发送请求和接收有效响应,但仍然会收到错误消息。这只发生在一台服务器上
“传入消息是使用令牌签名的,该令牌与用于加密正文的令牌不同。这是意料之中的。”(原文如此)
这只在一台服务器上发生,但获取数据至关重要。我无法控制服务器,虽然我知道消息的含义,但坦率地说,我不在乎。这取决于他们如何配置自己的服务器并发回正确的信息。我想要的只是数据
WCF中是否有任何“闭嘴并处理”安全设置,以便我可以正确地从服务器获取数据?您使用的
我们目前正在用一个内置于.NET3.5中的现代SOA WCF系统替换一个有20年历史的基于C的系统。我们的行业需要严格的测试,包括良好的自动化单元测试。我们遇到了一些问题,但是对SOA系统进行单元测试的程度接近于对基于C的系统进行单元测试的程度
最大的一个问题是,系统中的大多数方法实际上都依赖于跨服务边界调用代码,例如,我们是高度数据驱动的,但我们不直接在系统中访问数据库:我们调用WCF数据访问服务
在VisualStudio中运行任何单元测试几乎都是不可能的,因为几乎任何操作都会导致某种类型的
在我的解决方案中,我有一个“网站”项目和“Web应用程序”项目。在网站项目中,我在名为Services的文件夹下有一个WCF服务。因此,默认情况下,它会将MyService.cs文件放在App_Code文件夹下
现在,我正试图将这个相同的WCF服务作为link文件添加到我的WebApplication项目中。但由于[.svc&.cs]在网站项目中位于两个不同的位置,所以它在WebApplication项目中并没有被作为一项服务使用
这个问题有什么解决办法吗?有什么想法或想法吗
提前感谢,,
Ke
我在WCF的安全部分面临一个问题
问题是:部分加密对消息负载不起作用。当我在MessageContract和MessageBodyMember属性中更改ProtectionLevel时,它要么完全加密有效负载,要么保持整个有效负载未加密
也就是说,部分加密不起作用,我希望有效负载的根标记(消息体元素)未加密,其余的,即根标记的子元素要加密。在服务器上,SpringWebServices的enpoint映射需要这种行为
这是一个用Java开发的Web服务的dotnet客户端程序(springws开
我正在尝试在Azure上以工作者角色托管面向外部的WCF服务
我有一个在本地运行得很好的解决方案,但是当我尝试将它发布到Azure时,它会进入一个初始化/忙碌/停止的循环
我在互联网上找到的信息说明了不同的事情:
(不可能)
(可能与黑客有关)
其他消息来源说这是可能的,但我没有代表张贴超过两个链接
最后一个在我试图发布它时挂起
有人知道怎么做,或者如果真的不可能的话?将其托管在工作者角色中会非常好,因此我不必使用web角色所需要的svc和web.config混乱
这是我正在使用的代码:
我想在windows防火墙(Win7/Vista)上解锁我的c#,打开windows安全警报以将防火墙执行选项添加到异常列表中。我正在使用ServiceHost在控制台应用程序上运行我的WCF服务
谢谢使用Netsh AdvFirewall打开您想要的端口或允许程序进出:
有关Netsh AdvFirewall的文档,请参见此处:
http://support.microsoft.com/kb/947709
一些样本:
启用程序
netsh advfirewall firewall add ru
由于EndpointDiscoveryMetadata本身不可序列化,因此提供了3个包装类来帮助完成序列化:
EndpointDiscoveryMetadata 2005年4月
端点发现元数据11
端点发现元数据CD1
应该使用哪一个,或者这有什么关系?你什么时候会用一个来代替另一个?哪个较新(或最新版本)?看起来EndpointDiscoveryMetadata11最新。看起来EndpointDiscoveryMetadata11最新
我建立了一个WCF服务库,添加了对少数第三方dll的引用。这是我的界面
[ServiceContract]
public interface IService1
{
[OperationContract]
3rdpartyreturntype GetObj(System.Windows.Controls.Control txtcontrol);
}
// Use a data contract as illustrated in the sample below to add
我创建了一个云应用程序,其中包含web应用程序的web角色和承载WcfService的Worker角色。
WcfService的端点为
我从visual studio运行了应用程序,一切正常。
我在我的windows azure帐户上部署了应用程序,网页成功打开,但当我进行wcf调用时,会生成以下错误
There was no endpoint listening at http://localhost:9967/WcfServiceTestService that could accept t
标签: Wcf
dton-tier-architecture
我的应用程序中有一个WCF服务层,它将DTO传递给UI
在项目中放置我的DTO类的最佳位置是哪里?它们应该有不同的名为DTO的文件夹,还是可以放置在使用它们的服务所在的文件夹中?将它们放在UI层和服务层都可以访问的单独程序集中(注意,不仅仅是一个文件夹,一个专用程序集中)。我通常称此层为实体,顺便说一句,它通常还包含其他内容。将您的服务Dto放在单独的Service.Dto项目中,该项目应位于SIL。此外,当您说“将DTO传递到UI”时,您的措辞可能会让人感到困惑。您可能是想将DTO传递给服务客
我是WCF的新手,所以我认为这是非常基本的。我有一个简单的方法,返回一个“order”对象。但是,当我应用
ResponseFormat = WebMessageFormat.Json
属性,它无法返回JSON。代码成功执行并点击返回行,但随后立即再次调用该方法,最后第三次调用,然后浏览器返回一个错误,声明与本地主机的连接已中断
当我删除ResponseFormat=WebMessageFormat.Json时,会调用该方法并返回XML。不确定我是否缺少JSON
ipProductSales.
我已经在visual studio 2010 express edition的vb.net中开发了WCF web服务。目前还在本地部署了t。因为VS Express不支持单元测试,所以我无法测试web服务。使用NUnit之类的框架时受到限制。我应该如何测试web服务并调试它 使用WCF测试客户端(位于此位置-
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\
)
绑定wcf测试客户端进程以进行调试。从VS转到调试->附加到进程->
我正在使用WCF为web服务编写一个简单的客户端。不幸的是,web服务只回答JSONP消息,而不是简单的JSON
是否可以使用.NET4.0中的内置功能来实现这一点,或者是否需要扩展其他功能以从服务器上得到的答案中去掉函数名{和}?我知道如何读取JSON响应,但还不知道如何读取JSONP。我不知道如何直接读取JSON响应,但让我们先尝试理解JSON和JSONP之间的区别
//JSON
{"prop":"val"}
//JSONP
func({"prop":"val"});
要获取JSON字符串
我试图在上运行这个源于此博客条目的示例
如果在.NET4中运行服务器代码,它会引发以下异常:
First-chance exception at 0x754cd36f (KernelBase.dll) in TestConsole.exe: 0xE0564552: 0xe0564552.
如果我在.NET3.5中运行服务器代码,它就可以正常工作。在这两个测试中,客户机代码都是根据.NET4编译的。我的服务器代码如下:
[ServiceContract]
public interface ISt
我正在使用WebHttpBinding开发一个REST服务。
在我的服务中,一切都很完美,但在运行时会出现找不到端点的错误
web.config文件如下所示:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
</system.web>
<system.serviceModel>
<servic
我迫切需要一个WCF4RESTfulWeb服务的工作示例。我们的SaaS票务系统zendesk.com可以使用HTTP GET、POST或PUT与URL目标进行通信。我没有做过任何与web相关的工作,仅限于c控制台应用程序,但现在我的任务是创建具有以下要求的WCF 4 web服务:
通过HTTPS进行安全保护
通过用户名/密码保护
从SaaS系统读取并处理作为应用程序/x-www-form-Url编码信息传输的数据,例如:
http://somedomain/a/path?value=messa
我正在创建一个WCF服务(.net 4.5-Visual Studio 2012),我需要能够调用我的服务操作并通过URL传递正确的参数
我需要更改什么才能允许此操作
当我使用以下URL:“…/MyService.svc/GetData?value=2”时,我收到HTTP/1.1400错误请求
这是我的web.config:
<?xml version="1.0"?>
<configuration>
<appSettings>
标签: Wcf
wcf-bindingtokenwif
我使用在单个端点上托管了一个WCF服务。该服务使用WIF令牌进行保护
该服务有一个方法void IsOnline()来确定该服务的可用性。此方法必须在没有令牌的情况下可调用,并且我不能拆分接口,也不能添加另一个不安全的端点。(=配置服务限制)
那么,我可以将绑定修改为基本状态“使用WIF令牌是可选的”吗?或者换句话说:服务应该使用来自调用方的声明和标识,或者如果没有提供令牌,则使用某种匿名令牌
我当前的绑定:
...
http://docs.oasis-open.org/wss/oasis-w
当我试图从Webclient调用Rest服务时,引发了以下异常。只有当我从另一个WCF服务调用此Rest服务时,才会出现此异常。如果我从控制台应用程序调用Rest服务,则不会引发任何错误
以下是异常详细信息
{"Unable to connect to the remote server"}
[System.Net.WebException]: {"Unable to connect to the remote server"}
Data: {System.Collections
有人能给我解释一下加密和编码的区别吗?您应该使用哪些场景?为什么 这两件事之间的主要区别在于编码是将某件事转换成另一件众所周知的事,而这不是秘密。例如,将一些文本编码为base64以节省内存和存储数据。当您使用它们时,您将把它编码回字符串
加密实际上是对数据进行编码,但出于安全原因,数据被解密。
解密不应该是公开的-这意味着只有一个具有解密密钥的才能解密数据。尽管这两个看起来相似,但您希望实现的主要区别是
如果加密用于密封文件内容,因此其他人无法读取,则编码用于其他方式。加密主要使用某种密码
例
当我在客户机上执行命令时,它会等待响应。我知道这个命令需要很长时间,但默认超时时间似乎是1分钟左右。每次从客户端调用命令时,都会出现以下错误:
System.TimeoutException was unhandled
HResult=-2146233083
Message=The request channel timed out while waiting for a reply after 00:00:59.9809981. Increase the timeout value p
我已将WCF服务迁移到安装在IIS 7.0中的.Net framework 4.5。我可以在浏览器中浏览该服务。但是,当我在控制台应用程序中引用服务并尝试调用其中的方法时,会出现错误“访问被拒绝”。下面是我正在使用的堆栈跟踪和web.config设置
System.ServiceModel.Security.SecurityAccessDeniedException was unhandled
HResult=-2146233087
Message=Access is denied.
我的消息队列由IBM WebSphere MQ管理,我希望能够使用WCF服务侦听新的排队消息
每一条新消息都应该触发对我的服务的调用,并将新消息作为参数
您知道如何创建这样的服务并托管它吗?如果您使用的是WebSphere MQ v701或更高版本,那么您可以使用WebSphere MQ自定义通道进行WCF。使用自定义通道,您可以构建和托管服务。你可以找到更多的细节和样品
基于WMQ WCF的服务可以作为Windows服务或独立应用程序托管。它还不能托管在IIS或Windows应用程序结构/WA
标签: Wcf
wcf-bindingwcf-security
我有一个非常简单的wcf服务库(请参阅任何在线入门示例)。我可以通过本地主机上的WCF测试客户端exe运行它。但当通过另一个客户端工具(如soapUI)访问它时,我会出错。我相信这些错误与服务的安全配置有关
如何更改服务的绑定,如本文所建议的:
这在app.config或web.config中。我的项目甚至没有web.config
这是我的app.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
我正在构建一个客户机-服务器应用程序,当我开发系统时,所有这些都在我的计算机上本地运行。但是,最终我希望将应用程序的服务器端部分部署到服务器上,以全天候运行,从而使客户端应用程序能够随意连接和使用服务。我想知道的是,当我开始这么做的时候,我是否只需要在服务器上安装服务器端应用程序,点击run就可以了?那只是看起来。。。(对我来说)不对,是这样做的吗?还是说还有更多?我想有,但我似乎找不到关于这个主题的任何内容
仅供参考-该服务器是一个自托管的WCF应用程序。您希望获取程序的可执行文件,支持DLL
那么,在WCF服务中,您是否不应该或不能在向客户机公开的方法或DTO中使用接口?因为如果我举个例子:
public class MyCustomDTO
{
public ITransaction Transaction { get; set; }
}
或
我注意到,当我尝试创建集成测试以证明wsdl可以使用并进行成功调用时,我的ITransaction和IPaymentRequest被序列化并通过服务客户端作为“对象”公开,这可能是因为它不知道在契约中公开哪种对象,对吗
那么,您是否不
我尝试了以下代码:
PolicyProcessRequest.BranchCode = "HeadOff"
PolicyProcessRequest.Policy.BranchCode = "HeadOff"
PolicyProcessRequest.Policy.Risks.Item(0).BranchCode = "HeadOff"
Dim dcs As DataContractSerializer = New DataContractSerializer(GetType(PureMess
我正在编写wcf服务以从sql db获取数据。它返回给我大约2000行14列。我收到错误,因为“已超过传入邮件的最大邮件大小配额(65536)”。要增加配额,请在相应的绑定元素上使用MaxReceivedMessageSize属性。'
我的web.config是-
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IServi
我遇到了一个特殊的问题,wcf服务然后在VS2013上以调试模式运行,http生成链接,并通过https生成wsdl,这些链接和wsdl在不同的端口上运行。
如果我尝试转到http://localhost:53769/WebPricingService.svc?wsdl它运行了几分钟,最终失败
我对此毫不在意,但当我尝试使用以下消息生成带有svcutil.exe的客户端时,它失败了
我已将mex添加到配置中
<service behaviorConfiguration="wsServi
我正在尝试使用基本身份验证使用JavaWeb服务
使用soapui,我可以在运行带有基本身份验证的请求时收到响应
问题是使用VS studio时,使用基本身份验证时出现此错误
“HTTP请求未经客户端身份验证方案'Basic'授权。从服务器收到的身份验证标头为'Basic realm='weblogic'
在此处输入代码
您的传输配置指定了一个空域,而服务器用户weblogic则指定了一个空域。请尝试添加与SoapUI相同的域,例如:
<transport clientCredentia
我们正在使用WCF服务。我们正在尝试将大小为3MB的数据从WCF返回到我们的客户机/应用程序
当我们在本地进行时,只需2秒钟。我们在服务器上托管了该服务,当我们尝试在同一位置访问它时,只需2秒钟。但当我们试图从其他地理区域或位置访问它时,大约需要40秒
我们尝试使用Mtom和流式响应,但没有任何改进。如果有人能让我们知道从不同地区访问时提高性能的方法,那将非常有帮助?您使用的是哪种绑定?Mtom使用的是哪种transferMode?我们使用的是基本http绑定。我们已经尝试使用传输模式作为文本以
我有一个简单的测试wcf服务,其中net.tcp与此配置绑定:
<system.serviceModel>
<services>
<service name="WcfServiceWebApp.Service1">
<endpoint binding="basicHttpBinding" contract="WcfServiceWebApp.IService1" />
<endpoint address="" bindin
我正试图将内省添加到一系列WCF服务中。对于其中一些,我需要访问正在接收的实际wcf消息。由于实现细节的原因,这必须在创建实际服务实现的同时完成。我们添加了IInstanceprovider的自定义实现,并将其作为端点行为添加到所有端点
问题:IInstanceprovider有两种获取服务实例的方法:
object GetInstance(InstanceContext context);
object GetInstance(InstanceContext context, Message
我是WCF和ADO.NET数据服务的大量用户。我经常在不同系统之间的链接中使用它们。现在,有时我会更新这样一个链接的一面,而忘记另一面。另一方将崩溃,大多数情况下会给出一个关于找不到某个类型或类似类型的错误
是否可以将生成的代理与实际的服务定义进行比较,以检查服务是否已更新?这样,我就可以抛出一个更有用的错误,指出定义是不同步的,任何一方都应该更新以再次匹配正确的定义
这适用于WCF服务和ADO.NET数据服务,因此我正在寻找一种方法来比较两者。许多专家都会呼吁的一种方法是基于方法和数据契约的名
我编写了一些服务,其方法获取图像(字节[])作为参数(返回void)
我还编写了一些客户端(客户端和服务器运行在同一台机器上-不同的sulotion-使用IIS)将位图(作为字节[])发送到服务,每次尝试发送时都会出现异常:
接收对的HTTP响应时出错。这可能是由于服务端点绑定未使用HTTP协议造成的。这也可能是由于服务器中止了HTTP请求上下文(可能是由于服务关闭)
我又添加了一个获取void并返回int的方法——我可以毫无问题地调用这个方法
有什么不对劲?我需要在客户服务参考中定义一些特殊的
标签: Wcf
c#-2.0basichttpbinding
我尝试从WCF调用方法时遇到异常…我使用framework 2.0在windows应用程序中使用WCF,我的WCF使用BasicHttpBinding选项
请求失败,状态为HTTP
415:无法处理该消息
因为内容类型为“text/xml”;
字符集=utf-8'不是预期的
类型“多部分/相关”;
type=“应用程序/xop+xml”
客户端应用程序在端点上发送数据时失败,该端点需要MTOM消息。但是,客户端应用程序只发送普通Soap消息(Soap1.1)。如果无法将客户端应用程序升级为使用.
我正在编写一个使用内部基于WCF的REST服务的应用程序,我承认自己是REST新手。因为我不能使用“添加服务引用”,所以我没有现成的代理对象来表示来自服务方法的返回类型。到目前为止,我能够使用该服务的唯一方法是共享包含该服务公开的数据类型的程序集
我对这种安排的问题是,我只看到两种可能性:
实现DTO(DataContracts)并从我的服务中公开这些类型。我仍然需要共享一个程序集,但这种方法将程序集中包含的类型限制为服务契约和DTO。我不喜欢仅仅为了使用DTO而使用DTO,尽管它们增加了另一层
我正在整合一个在IIS7网站实例中运行的WCF REST服务,并使用一个身份验证方案,该方案将令牌和HMAC插入到身份验证头中。典型请求上的示例标题列表可能如下所示:
GET http://api.mydomain.com/Contacts HTTP/1.1
Authorization: 774F035C-FRTB-4207-DDDD-31BF1534AD96:9h0Whke9Bgi3XSHPo/YSXw==
Content-Type: application/xml; charset=utf-
我最近一直在技术上测试一个WCF服务,并且已经到了这样一个地步,我的理解不足使我无法继续前进并找到解决我们看到的超时问题的方法
我们正在对一个WCF服务进行负载测试,该服务托管在windows server 2008上的IIS7上。设置为触发消息的系统实际上在biztalk应用程序中触发消息。Biztalk然后处理这些消息并将它们发送到WCF服务的端点。WCF服务也在其应用程序池中使用.NET2.0(我猜这意味着它实际上可能是3.0或3.5,因为它们不是完整版本
我们在一秒钟内发出40条消息,其
我正在制作一个WP7应用程序,通过WCF连接到SQL DB。但是在添加客户端代理并对其进行测试之后,我得到了这个错误
命名空间System.Runtime.Serialization中不存在类型或命名空间名称IEExtensibleDataObject(是否缺少程序集引用?显然(根据),WP7使用的.NET Compact Framework未在System.Runtime.Serialization命名空间中公开
另一种方法是使用生成客户端代理。生成的代码应该可以在WP7上运行。显然(并且根据
我有一个自动完成的ajax控件,可以自动调用WCF服务方法。
此方法获取字符串作为输入参数,并返回字符串列表。
我不从客户端进行调用,由控件执行,但我编写此方法的内容
当调用该方法时,我是否可以在WCF服务中的某个位置存储一些数据,并在以后从客户端使用WCF时提取这些数据?
我的意思是,我希望控件调用该方法,在该方法中我将存储一些数据,稍后当我使用WCF客户机对象时,我将提取它
是否存在这样的“WCF缓存”机制 不,没有“WCF缓存”机制。但是WCF是.NET,在.NET应用程序中,您可以使用
我试图做一些类似于在WCF操作参数中使用lambda查询的事情。我知道没有办法实现这一点,因为lambda表达式是运行时的,不能以这种方式使用,但我认为有一些解决方案。我的第一个想法是使用一些搜索条件类,这样我就可以填充这个类,然后在服务器端使用它来构建lambda表达式。我对这个类的简单实现的想法如下:
public class PersonSearchCriteria
{
public string FirstName {get; set;}
public string La
标签: Wcf
wcf-bindingnettcpbinding
我们注意到,使用netTcpBinding的应用程序突然停止工作。在检查托管服务的服务器上的事件日志后,我发现以下警告(一系列警告之一):
例外信息:
异常类型:TimeoutException
异常消息:打开操作未在分配的超时00:01:00内完成。分配给此操作的时间可能会缩短
已经是较长超时的一部分
服务器堆栈跟踪:在
System.ServiceModel.Channel.ClientFramingDuplexSessionChannel.OnOpen(TimeSpan
超时)在
Syst
使用跨域WCF服务,我似乎无法使用JSONP响应获得条件缓存
当请求的If None Match值与Etag匹配时,我期望得到一个状态代码为304 Not Modified的响应&一个空的响应主体。相反,我得到的响应状态代码是200OK,在主体中有一个垃圾JSONP字符串
web.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<auth
是否有任何工具用于监控WCF服务的传入和传出呼叫
我不是指MSMQ,我是指排队呼叫,服务无法处理,因为它很忙
性能监视器的一些配置文件
问候
Martin对于托管在IIS上的WCF,您可以使用它查看排队请求的数量、当前请求等。例如:
ASP.NET\排队的请求
Web服务\当前连接
虽然WCF有很多可用的队列,但没有一个队列指示队列长度
如果您谈论的是排队消息内容,那么没有简单的方法。我唯一能想到的就是对进程进行完全内存转储并进行调查。但这当然是一项非常具有侵入性的单发任务。对于IIS上托管
我有一个如下设置:
我正在使用windows身份验证来加密连接。主服务是安全的,没有人可以访问它,因此存储每个节点服务的用户名和密码是安全的,以便在可用时连接到它们
主服务向每个WCF节点服务发送机密信息。因为连接是加密的,我知道有人很难解密它我遇到的问题是,如何确保我连接的是我的WCF节点服务,而不是其他人?
这里有一个场景来描述我的问题
假设Tom是一个用户,正在使用运行WCF节点服务的图中左上角的笔记本电脑。WPF客户端是管理员(图中最底层的用户),它们可以在Tom的计算机上执行操作。T
如何在每次调用WCF服务时传递字符串(没有singleton)。例如,我需要在每次调用时传递CultureInfo字符串。
在Remoting的早期,我使用从客户端传递数据,比如
CallContext.LogicalSetData("CultureInfo", "en-Us")
并在服务器中检索(在不同的appdomain中运行),如
这在WCF中不起作用。CallContext.LogicalGetData始终为空。不幸的是,在WCF中,这并不那么容易。但是,您可以对所有操作执行一次。您可
我有一个silverlight应用程序,它使用wcf服务从数据库(SQL Server)读取数据,而不使用实体框架,只需单击一个按钮。我在本地系统上进行了部署,效果很好。与我在服务器上部署并发布的相同。我打开页面,点击按钮获取数据。但它不显示数据,也不显示任何错误。
我不清楚问题出在哪一边。在大多数情况下,这可能是由数据库访问引起的。因此,以下步骤可能对您有所帮助:
检查您的WCF服务是否可访问
检查WCF配置中的连接字符串是否正确
如果要检查WCF服务,有两种方法:
您可以从develop