在WCF中,合同可以切换到流模式,以传输大型消息
在阅读和测试之后,我觉得流模式不能用于双工信道(具有单向调用和回调接口的信道)
是这样吗?双工和流媒体是否不能相互使用?还是有办法
(我正试图上传一个大文件到服务中,并使用回调来报告这方面的进展)出于好奇,我正要开始测试你的问题,但后来谷歌向我透露了两个可能更好地回答你问题的示例
显示带有进度条的流式文件传输,而不使用双工通道
显示了更多相同的内容,但对流的处理有所不同
此外,对于所有与WCF相关的内容来说,这也是一个非常好的资源。那里的主要人物
我有一个silverlight项目,它调用wcf服务。在我本地的机器上一切都很好
但是,当我部署到虚拟机时,wcf服务返回完全相同的查询,但结果为空
我已经尝试过调试,但未能使其在wcf服务中中断
你知道问题是什么,或者我如何调试它吗
谢谢
我知道问题出在哪里,但不确定解决方案是什么
在我的silverlight项目中,我引用的wcf服务是
我在我的虚拟机上使用fiddler查看请求,它没有尝试联系上述服务,而是尝试联系:
因此,出于某种原因,我的机器名被插入其中,而不是本地主机。如果您对此
编写一套IIS托管的wcfwebservices(GET和POST),我需要能够读取身份验证令牌的cookie,这样我就知道用户以前已经过身份验证
HttpContext.Current.Cookies是否能满足我的需要,或者是否有更干净、更适合具有WebGet和WebInvoke属性的WCF web服务的内容
string cookieHeader = WebOperationContext.Current.IncomingRequest.Headers[HttpRequestHeader.C
我有一个Silverlight应用程序,它通过一个按钮在新的浏览器窗口中打开一个aspx页面
我想将一些用户名/密码详细信息从Silverlight传递到aspx页面。我的理解是,我应该使用WCF服务来设置会话状态,然后可以从aspx页面检索会话状态
我已经遵循了我认为正确的步骤,但是aspx页面拒绝看到Silverlight设置的状态
我所做的是
创建了一个设置System.Web.HttpContext.Current.Session[Thing]的WCF服务
在该服务上,在web.conf
标签: Wcf
silverlight-3.0prismcab
我正在使用Silverlight 3棱镜(CAB)和WCF
当我调用Prism模块中的WCF服务时,我得到了相同的错误:
“在服务模型客户端配置节中找不到引用约定‘IMyService’的默认终结点元素。这可能是因为找不到应用程序的配置文件,或者在客户端元素中找不到与此约定匹配的终结点元素”
结果表明,它在Shell的.xap文件中查找ServiceReferences.ClientConfig文件,而不是在模块的ServiceReferences.ClientConfig文件中。我将端点和绑定
我有一个名为IEnvironmentService的WCF服务。此服务提供了一些不安全的方法。我必须保护此服务中的某些方法。为了保护这些方法,我想使用windows标识。因此,除了特定的windows标识服务之外,其他方法无法调用。我怎样才能做到这一点。谢谢。您可以在您的服务实施中这样做(您不能在合同上做任何事情):
[PrincipalPermission(SecurityAction.Demand, Role = @"DOMAIN\group")]
public void DoSomethi
我有一个WCF服务,在IIS7中运行良好,但是一旦部署到WindowsServer2003,IIS6,我现在收到“线程被中止”错误消息。这在服务运行几分钟后发生
我已尝试手动更改一些超时值并关闭IIS保持有效
任何关于如何解决这个问题的想法都将受到欢迎
如果您遇到此问题,请阅读!希望你能省去很多麻烦。先喝咖啡
您可能来自与SOA无关的领域的传统编程背景,现在您正以“传统程序员”的心态编写SOA服务。以下是自构建SOA服务以来我学到的4个最重要的教训
规则编号1
尽量不要编写需要较长时间才能完成的
我已经构建了一段时间的silverlight应用程序和WCF服务,最近尝试在IIS7中托管它们
我在WindowsServer2008R2上安装了IIS7,并将这两个应用程序添加到我的默认网站。我有很多问题,所以我希望你们中的一个能帮助我
1) silverlight和WCF服务应用程序不适用于直通身份验证。设置应用程序时,我需要以管理员服务器帐户“连接”。我在网上看到,当你连接到另一台计算机时,你只需要使用“连接为”字段。如果我不提供管理员凭据,则会出现此错误。我必须在其他地方设置权限吗
HT
标签: Wcf
reportingservices-2005
我正在尝试使用WCF服务作为SQLServerReportingServices2005报表的模型。如果我在designer中设计报表,那么我可以这样做,但对于我认为需要在报表生成器中生成报表的报表模型项目,我不能这样做
我的全部要求是有一个报表生成器,用户可以使用基于我的WCF服务提供的DTO构建报表
谢谢你,原来你不能这么做
我选择了Dex Express XtraReports,它似乎更强大。我正在使用他们的设计器组件制作一个报表设计器应用程序——我将对其进行定制,使其与应用程序完全集成—
我使用WCF服务将大块的大文件传输到服务器
为此,我参考了这篇文章
我已在我的计算机上的IIS上配置了我的应用程序。这里的工作很好。它允许高达64mb的文件上传。但是当我们发布了这个网站。它只允许最大30Mb的文件,如果我试图上传超过我得到的错误404-资源找不到
这是我使用的绑定配置
<basicHttpBinding>
<!-- buffer: 64KB; max size: 64MB -->
<binding name="FileTransferService
如何使用basicHTTPBinding从启用ssl的网站调用WCF服务
我发现了错误
无法激活请求的服务。有关详细信息,请参阅服务器的诊断跟踪日志。
描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源
异常详细信息:System.ServiceModel.ServiceActivationException:无法激活请求的服务。有关详细信息,请参阅服务器的诊断跟踪日志
源错误:
在执行当前web请求期间生成了未经处理的异常。可以使用识别有
我的服务可以处理普通的WCF调用,但要公开元数据(wsdl文件),我必须以普通WCF主机失败的方式更改配置
我花了无数个小时在谷歌上试图解决这个问题,最大的问题是,在一个网站内托管服务从来没有被讨论过(是的,这是不同的)
要求:
在现有网站中运行
使用会话
可使用Java和尽可能多的.net版本操作
公开元数据(wsdl就足够了)
编辑:
无法使用IIS
我正在使用.NET4和WCF4
在此配置中,可以访问元数据(通过wsdl文件),但在尝试承载我获得的正常wcf端点和InvalidOp
我正试图在我们的内部网上为我们的WCF服务创建一个灵活的安全基础设施,但我不太确定我应该把这段代码放在哪里。。。有很多不同的方法来扩展WCF,我不知道从哪里开始
其基本思想是:每次调用我的服务时(对于任何操作),我都希望运行一些代码,使用我们现有的安全基础结构执行自定义访问检查,以查看用户是否有权执行该操作。如果用户未经授权,我希望它抛出一个异常或其他东西(不确定它到底应该做什么),并阻止调用进入我的服务代码
想法
谢谢我认为这将是实施自定义授权策略的一个很好的起点。我最终不得不使用Messag
在使用WCF安全地使用web服务的文档中,他们指出,建议您在使用元数据时禁止DTD。为什么DTD是一种安全风险
防御所有类型的XML实体攻击的最简单方法是
在XML中完全禁用内联DTD模式
解析对象。这是
攻击面减少原则:如果你没有使用某个功能,
关闭它,使攻击者无法滥用它
在这种情况下,存在已知的拒绝服务攻击(请参阅andrews答案)
但是,几乎任何减少攻击面的方法都会提高安全性。:o)谢谢,我的一位朋友刚刚给我发了同一篇文章。这是一个好的。
我已经创建了一个WCF4路由器服务,并将其托管在IIS7中。它在我的开发机器上运行良好,但当我部署到QA服务器时,is返回以下消息:
无法读取配置节“路由”,因为它缺少节声明
它抱怨的部分是标准WCF4路由部分:
<routing>
<filters>
<filter name="MatchAllFilter1" filterType="MatchAll" />
</filters>
<
当对服务进行简单的方法调用(不需要参数或返回值)时,一切都很好。然而,如果我在回调中调用另一个方法,我会得到一个严重的错误。以下是合同界面:
Namespace Net.Wcf.Contracts
#Region "Message Responder Wcf Contracts"
''' <summary>
''' Interface defining the methods that the Responder Inbox m
我们有一些使用集成windows身份验证在虚拟目录中设置的web内容。虚拟目录在使用自定义标识(自定义用户帐户)的应用程序池下运行。问题是NTLM身份验证可以工作,而Kerberos身份验证不能。这与在IIS 6下工作的配置相同,但我们需要迁移到IIS 7,而Kerberos身份验证不起作用
以下是有关我的环境的更多信息:
虚拟目录身份验证设置:
除Windows身份验证外,所有功能均已禁用
启用内核模式身份验证:已启用
应用程序池设置:
托管管道模式:经典
标识:自定义本地用户
Web
我正在运行2010年的SP1测试版。。。它可能与beta版有关,也可能与beta版无关。但是,一般来说,将项目添加到codeplex TFS服务器是否会在Azure项目中导致WCF中断
似乎是我的模式。启动后,我立即收到一个ServicePoint异常。如果我从源代码管理中删除应用程序,一切正常
我的项目包括
Azure WCF hello world应用程序
VS2010 SP1测试版
添加codeplex TFS引用会导致异常
这是一个通信故障异常吗?如果是,则在使用签入TFS的Azure
另一次尝试使用部署到IIS 7.5的basicHttpBinding获取WCF Rest(无svc文件)服务失败。我相信我已经与IIS一起正确配置了网站。我确信问题存在于我的配置中。我收到的回复是500错误。我有一个MVC3Web在这个盒子上运行良好
WCF Rest服务正在使用安全模式为Transportcredentialonly的basicHttpBinding。这是我的配置
<system.webServer>
<modules runAllManage
除了通过WCF中的配置使用消息级加密外,是否可以同时使用传输安全性(HTTPS、客户端证书身份验证)?这是用现成的wsHttpBinding完成的吗
我试图通过自定义绑定来实现这一点,但无法判断请求是否在消息级别加密,因为它们在跟踪日志中显示为纯文本
我做了不少研究,但似乎找不到任何可靠的答案。感谢您的帮助 是的,这两种功能都有可能。文章非常详尽,但启用此功能的关键在于此设置:
<!-- snipped -->
<wsHttpBinding>
我有一个为JSON配置的wcf web服务。但我的数据契约有继承链。我有一个名为RequestMessage的数据契约,以及另外两个从RequestMessage派生的数据契约,如Derived1和Derived2。我的服务契约有一个如下的服务操作BaseResponse-GetResult(BaseRequest-request)。我正在装饰与KnownTypes的服务合同。当与basicHttpBinding(任何基于SOAP的绑定)一起使用时,这种方法都可以很好地工作。当传递JSON消息时
标签: Wcf
msmqnetmsmqbinding
我有一个wcf服务,处理很多客户端(服务器文档生成)。此服务应接收大量请求,并应在队列中处理。它也有一个回调。(回调将返回成功生成的文档)。我仍在使用PIA,将来将实现OpenXML
是否wcf msmq是实现这一点的方法
是否有可能相关的样本?以前它在本地计算机上运行,但现在想将其更改为所谓的“服务器生成”WCF MSMQ不支持直接回调-它只支持单向操作。但例如,讨论如何添加此支持。使用默认配置,您可以将消息发送回原始发件人,但它不是回调。为了支持响应,每个客户端都必须公开队列并将其队列地址作
我正在运行一个ServiceHost来测试我的一个服务,在抛出一个FaultException(错误异常)之前,所有的服务都可以正常工作——我得到的是XML而不是JSON
我的服务合同-可爱
/// <summary>
/// <para>Get category by id</para>
/// </summary>
[OperationContract(AsyncPattern = true)]
[Fa
论客户
[DataContract]
public class Request
[DataMember]
public int ID { get; set; }
[DataMember]
public string Data { get; set; }
}
public Response ProcessData(Request request)
{
//do something with request.Data
}
如果我传递一个较小的字符串,效果会
以下是WCF服务中的方法签名:
APIMessageList<APISimpleContact> GetMembers(string apiKey, APIContactSearchFilter filter);
APIMessageList GetMembers(字符串apiKey,APIContactSearchFilter);
APIMessageList继承自IList。一旦我针对这个WCF服务构建了一个代理,类名就是APIMessageListOfAPISimpleC
我在关闭回调/双工通信通道时遇到问题。
以下是我的典型WCF接口:
[ServiceContract(CallbackContract = typeof(IMyInterfaceCallback))]
public interface IMyInterface
{
[OperationContract]
void StartWork();
}
public interface IMyInterfaceCallback
{
[OperationContract(IsOne
我遵循了本页上的步骤:
使用HTTPS和WCF 4.0创建JSON web服务。这一切在控制台应用程序中都非常有效
我试图测试一些对web服务的Jquery查询,但对跨域请求的所有限制感到非常恼火
因此,我将我的web服务移动到IIS,现在它无法获取我的身份验证。它不会通过我的自定义身份验证提供程序进行身份验证。我发现我可以输入我的windows用户名和密码,但是很明显,这个标识是不正确的,因为它的用户名是错误的
根据上面的链接,我的安全模式是Transport,clientCredentia
我有一个自我托管的WCF服务在工作几天后停止响应
在客户端,我得到了这个错误-
The request channel timed out while waiting for a reply after 00:00:59.8719872. Increase the timeout value passed to the call to Request or increase the SendTimeout value on the Binding. The time allotted to th
是否可以在服务的Web.config文件中定义默认客户端绑定配置
我想指定默认的maxReceivedMessageSize和maxBufferPoolSize值,这样客户端就不需要不断更改默认值
与此类似的东西(不起作用):
在WCF 4(.NET 4)中-是:只需将name=属性保留为空(或者一起省略name=属性),因此使用
<bindings>
<wsHttpBinding >
<binding
maxReceiv
我想在客户端截获WCF消息。我不能为此使用任何MessageInspector,因为我想实现客户端WCF缓存。如果之前缓存过请求,则响应应该来自缓存,否则请求将转发到服务
由于我使用的是NetCpBinding和netNamedPipeBinding,所以实现IRequestChannel的“简单”方式是不可能的。我需要实现IDuplexSessionChannel。现在,我正在寻找一个如何截取和替换消息的工作示例
但为什么这很重要?
理论上,WCF服务和可能通过网络进行的所有其他调用一样,应
有一个windows服务每天午夜运行。为了简单起见,假设此服务所做的只是删除一个日志表。如果我尝试用WCF(作为windows服务托管)替换它,我是否必须对其调用方法?WCF是否有一个类似于console应用程序Main()方法的入口点,在该入口点中,它不必调用某个方法就可以启动某些内容
在上述情况下,用WCF替换windows服务有意义吗?windows服务是在后台运行的进程,WCF是一个通信框架。因此,您的简单答案是:不,不一样,您的要求windows服务很好。windows服务是在后台运行
我需要使用soap端点作为默认端点,因为我不需要干扰现有用户。我应该在配置中做什么更改
我有两个端点,一个用于soap,另一个用于rest服务。我尝试创建两个独立的服务,但仍然不起作用以下是一个示例:
<endpoint address="json/mycontract" behaviorConfiguration="webBehavior" binding="webHttpBinding" contract="MyContract" />
<endpoint address=
我正在开发一个Asp.Net应用程序,它将与托管在IIS本地计算机上的WCF服务进行交互
为了托管这些wcf服务,用户在登录时必须拥有哪些权限?他们必须在机器上拥有管理员权限吗
注:我知道WCF服务不应该托管在单个本地机器上,所以请不要就此展开讨论。我想知道的是,为了使WCF服务对应用程序可用,登录用户需要具备哪些权限。这实际上取决于您如何设置服务。您可以将网站配置为允许匿名访问,并将WCF绑定设置为安全模式为“无”的basicHttp绑定。这应该允许任何登录的用户运行该站点。这不会将用户限制为
我有一个正在运行的Silverlight/WCF应用程序,我需要开始考虑扩展。当然,扩展的一个明显目标是Azure
该应用程序的关键架构特征是2-10个Silverlight客户端将加入一个给定的“房间”(使用duplex Net.TCP连接),然后这些客户端中的任何一个都可以发送消息(例如,聊天消息),然后需要实时推送到连接到同一房间的每个其他客户端,使用底层双工WCF连接
目前,WCF服务的工作方式基本上是在内存中保留会话及其关联的会议室的列表,以便当来自一个会议的消息传入时,它可以自动将消
摘要:
我正在使用.NET4.0WCF客户机使用SOAP1.1和WS-Security 1.0来使用web服务(另一端是DataPower和Java服务)。WCF客户端必须实现客户端证书,以便在传输层进行相互身份验证。需要使用单独的服务/签名证书对消息正文进行签名。SOAP头还需要包含带有密码摘要的用户名令牌,并包括Nonce和Created标记
我可以使用WSE3.0和BasicHTTPBinding来使用这个web服务。但到目前为止,我还没有成功地使用WSHttpBinding或Custom
我有一个测试项目,测试继承契约和回调契约
更新1:我用接口实现更新了所有主题
通过阅读本文:
这是可能的,但当我尝试时,它失败了
class Program
{
static void Main(string[] args)
{
ServiceHost Service_IServer = new ServiceHost(new ServiceImplemantation(), new Uri(@"net.tcp://localhos
MQ客户端是否能够在客户端配置中定义多个MQ服务器主机?我找不到关于它的任何东西。我希望在同一队列中有多个MQ服务器可用,如果其中一个不可用,请让客户端尝试连接到另一个服务器。我希望,像一些db实例一样,您可以定义许多主机,客户机驱动程序将路由到一个可用的主机
我知道我们可以添加逻辑,在连接错误时连接到不同的服务器,但如果可能的话,我们希望使用驱动程序来执行此操作
使用.Net 4.0 WCF/WebSphere MQ 7.1
如有任何信息/意见,将不胜感激 Shashi是WMQ.Net的大师,
我正在编写一个类似于中的日志记录行为,但用于NLog。我想出了这个密码:
公共类NLogLogger:IParameterInspector
{
私有void日志类型instanceType,字符串操作名称,字符串消息
{
NLog.Logger Logger=LogManager.GetLogger
instanceType.FullName,instanceType;
logger.Infomsg,instanceType;
}
公共对象BeforeCallstring操作名称,对象[]输入
我有一个很常见的问题。我有个人课
[DataContract]
public class Person
{
[DataMember(IsRequired = true)]
public int id{get;set;}
[DataMember]
public decimal? Age{get;set;}
[DataMember]
public decimal? NumberOfChildren{get;set;}
}
我有WCF操作,就是这样
public class Per
标签: Wcf
operationcontractservice-reference
我有一个很奇怪的问题,我不明白。
我有我的WCF接口,其中的方法用[OperationContract]属性修饰。
然后我有我的服务参考文件夹,每次我更改接口时都会更新它
一切正常,直到在我的界面中,我将声明一个方法,该方法将任何集合作为参数(List,Array,IEnumerable等)
然后,当我运行“Update Service Reference”时,它会在没有任何错误的情况下完成,但是生成的Reference.cs文件是空的
在“配置服务引用”窗口中,我将“集合类型”设置为“Syst
我在MVC和WCF一起工作。我需要从MVC应用程序以及HTML5页面连接WCF服务。请让我知道正确的方式来配置WCF服务连接这两个
如果我使用的是HttpGetEnabled=true,那么我可以从MVC项目访问,但不能从HTML访问
帮我解决这个问题
这是我的WCF的web.config文件
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" ta
在我的配置中,我的地址详细信息如下。tcp://127.0.0.1:1127/CalculatorService 但当显示错误消息时,无法从中获取元数据http://localhost:12659
我有一个带有tcp绑定的简单服务,我正在使用wcf测试客户端从VS2010 IDE运行我的服务,然后我发现这个错误无法从中获取元数据http://localhost:12659
这是我的配置文件详细信息
<?xml version="1.0"?>
<!--Copyright (c)
通常我在IIS中托管WCF服务,但一位同事告诉我,在本地服务中托管服务时,服务运行得更好(性能方面)
这是真的吗?每种方法的优缺点是什么?如果不知道您的服务是如何设计的,它们消耗了多少CPU/内存,它们支持多少并发客户端,它们是如何访问的,等等,很难对哪种方法更好/更快做出一般性的陈述。因此,我将分享我以前的经验
在对两种WCF部署方法进行了一些基本性能测试之后,我们最初在本地Windows服务中托管了WCF服务。在Win SVC中托管它们稍微快一点(不明显)。NET 4.0/REST/wsHT
由于Wcf REST不支持Out参数,那么如何从重新调整值的方法中获取值
[OperationContract(IsOneWay = false)]
[WebInvoke
(Method = "GET",
ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "xml/getcommentsforvideopage?
我对.NET工作流的东西还很陌生。
我已经创建了一个工作流服务,现在我想使用IIS托管此服务。通过在VS2012中调试,该工作流得到了良好的测试
我正在使用AppFabric和工作流管理器来配置所有这些。
Workflow Manager在IIS中创建了持久化工作流实例和工作流管理站点所需的所有数据库。然后,我将我的工作流服务发布到一个zip文件中,并将其导入我的工作流管理站点
当我两天前关闭电脑时,一切都很好,正在运行。现在,我的工作流管理器后端服务将不再启动。当我观看eventlogger时
在Uri模板参数中有一个带有ComplexType的服务,我将CanConvert()和ConvertStringToValue()方法重写为MyQueryStringConverter类
我需要将该行为添加到web.config文件中
这就是行为
public class MyWebHttpBehavior : WebHttpBehavior
{
protected override QueryStringConverter GetQueryStringConverte
我随后将WCF服务包括到我的ASP.NET核心应用程序中
生成的Reference.cs文件似乎自动包含异步操作是否可以使这些操作仅在Reference.cs中同步?在客户端使用它们
生成的Reference.cs文件如下所示-
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generat
标签: Wcf
Iis
adfsadfs3.0net.tcp
我在已经安装了IIS的服务器上使用默认配置安装了AD FS 3.0。每次启动服务时,它都会抱怨无法绑定IP端点0.0.0.0:808。
以下是事件日志的摘录:
资料来源:AD FS
事件id:102
说明:
启用联合身份验证服务的终结点时出错。使用PowerShell cmdlet修复配置错误并重新启动联合身份验证服务
附加数据
例外情况详情:
System.ServiceModel.AddressalReadyUseException:IP端点0.0.0.0:808上已存在侦听器。如果有另一个
现在我需要在UWP程序中引用WCF服务。但是,WCF服务的地址将来可能会频繁更改
我不想每次地址更改时都重建/重新发布项目
因此,我想使用LocalSettings保存/加载WCF服务的地址。每次程序启动时,它都会从LocalSettings重新加载地址。如果地址更改,我只允许客户从UI更改LocalSettings,而不需要重建/重新发布项目
我怎么做?或者还有其他更好的方法吗?使用LocalSettings这样做是一个很好的解决方案
LocalSettings只是一个字典,您可以在其中指定要
自签名证书用于WCF应用程序中的身份验证。指定的服务器:
<security mode="Message">
<message clientCredentialType="Certificate"/>
</security>
...
<clientCertificate>
<authentication certificateValidationMode="PeerOrChainT