我们有一个WCF(.NET 3.5 SP1)服务在IIS7中运行,该服务被标记为允许ASP.NET兼容模式,因此我们可以访问HttpContext。当前:
[AspNetCompatibilityRequirements(
RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
但是,当尝试访问任何服务器变量时,它会抛出一个ArgumentException:
System.ArgumentException:
标签: Wcf
wcf-clientwcf-configuration
希望创建一个通过WCF将序列化消息对象发送回服务器的客户端
为了使最终开发人员(不同部门)的工作变得简单,最好是他们不需要知道如何编辑配置文件来设置客户端端点数据
也就是说,端点也没有嵌入/硬编码到客户机中,这将是一件非常棒的事情
在我看来,混合方案是最容易推出的解决方案:
如果(在配置中描述)使用配置文件ELSE,则回退到硬编码端点
我发现:
newclient()失败
新客户端(绑定,端点)工作
因此:
Client client;
try {
client = new Client()
我们正在将Silverlight客户端开发到通过WCF公开的基于服务器的API上
我正在尝试将我的WCF客户机代码(工作正常)从基于配置的模型移动到编程模型。这将使我有一个单一的“根”URL,我可以在启动时应用它,而不需要安装来维护大量的配置文件
不过,我正在艰难地将配置转换为支持Silverlight的代码
其中,我的一项服务具有以下配置:
<configuration>
<system.serviceModel>
<bindings>
我有一个示例WCF项目,它重现了我在实际WCF应用程序中遇到的一个问题。
您可以下载我的示例WCF应用程序的源代码
根据代码和配置文件中的超时设置,我不明白发生了什么:
**** Server exception : System.ServiceModel.CommunicationObjectAbortedException:
The communication object, System.ServiceModel.Security.SecuritySessionServerSettin
目前,我们有几个WCF服务可以直接通过网络公开我们的域模型。换句话说,我们没有一个DTO层来映射我们的域和服务层。我别无选择,只能直接用[DataContract]和[DataMember]装饰我们的域对象。我想在所有公开在网络上的域对象上实现IExtensibleDataObject。有人认为在基类上实现IExtensibleDataObject有什么问题吗?所以我会:
[DataContract]
public EntityBase:IExtensibleDataObject{///IExt
我可以在任何地方获得WCF备忘单或(参考卡)吗?几个月前我查看时没有发现任何特定的婴儿床卡,但Farooq Kaiser的以下帖子对我很有用
当我开始学习WCF时,我还发现Kirk Evans的博客有一些有用的链接(虽然有点老,但可能是一个很好的起点)
Dzone最近发布了一张参考卡
不过你需要注册
希望这有帮助有关绑定的详细信息以表格形式显示在此处:
MSDN提供了几乎所有您可能想要的东西,只要一开始就可以。我会查看他们的资源和文章。这里是实际的链接-
我对模拟著名的Web服务和Wcf服务进行集成测试感兴趣。为此,我希望在自托管环境中捕获服务元数据、自动生成服务存根和主机服务存根
接下来,我能够获取远程Wcf服务元数据并生成合同。但是,对于远程Asmx Web服务,我在执行相同的操作时遇到了一些困难
我有一套米老鼠的解决方案来审查这个
我的Asmx解决方案包含一个默认的“Hello World”web服务,如下所示
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBindin
我正在开发一个包含多个WCF服务的解决方案,这些服务都在它们之间进行通信,即使它们是不同类型的。这些服务通过ChannelFactory通用接口相互连接,并且每个服务都托管在ServiceHost中
我的问题是,在服务器之间使用回调契约彼此通信是否正确,如果正确,这种解决方案看起来会是什么样子
目前,我不喜欢这种实现,因为每个服务都需要承载两个端点,这些端点具有不同的接口,有些用于其他服务,有些用于其他客户端
当我试图在ServiceHost中托管的服务类中实现回调约定时,它失败了。首先,当你发
我有一个服务通过NServiceBus公开为WCF。最后,我想从silverlight调用此服务。我的WCF服务界面如下所示:
[ServiceContract]
public interface ISettingsService
{
[OperationContract(Action = "http://tempuri.org/IWcfServiceOf_RequestSettingsMessage_SettingsResponseMessage/Process", ReplyActi
我有以下代码:
public partial class MyServiceClient : System.ServiceModel.ClientBase<...
if (m_MyClient == null)
m_MyClient = new MyServiceClient
("BasicHttpBinding_IMyService", remoteAddress);
WriteOutput("Successfully connected to service
我想我可以在中创建一个WCF,并在Silverlight中调用它。我将向WCF注入一个接口。然后在我的单元测试中,我会模拟wcf
然而,当我真正开始这样做时,我注意到接口实际上没有我调用的方法
即
人们通常如何做到这一点?我将创建一个MyWCFService类,它将封装调用生成的WCF代理的所有工作
这有几个方面的帮助:
为您提供了一个单一的点来保存与调用WCF相关的所有代码(通过正确的错误处理,这可能是相当多的)
为您提供一个可以模拟调用的类
如果您需要,也可以通过避免WCF特定的代码到处散播
我正在开发一个新的WCF web服务,该服务将托管在现有的ASP.NET web应用程序中。当我尝试运行服务的.svc文件时,我得到一个异常,它无法找到程序集的文件
无法加载文件或程序集“System.IdentityModel,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”或其依赖项之一。系统找不到指定的文件
问题是,此服务似乎没有在任何地方引用此(特定)程序集。有一个引用的项目加载System.Identity
我想使用svcuti更新VisualStudio2010解决方案中的服务引用,因为该解决方案有多个项目,逐个刷新引用并不好
我想知道您的观点,因为我必须确保我将执行与VisualStudio2010完全相同的命令,或者即使VisualStudio2010不使用SVCUtil,这是IDE行为的等效命令
非常感谢。搜索一下并显示VS 2008上的设置,当然这取决于您在“添加服务参考”向导的“高级选项”中的选项
编辑:同意-不要害怕从头开始删除和重新创建服务引用。当使用TFS之类的版本控制时,“更新”
问题
System.ServiceModel.Security.SecurityAccessDeniedException : Access is denied.
Server stack trace:
at System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, Fa
我想这只是个人风格,但我讨厌我的WCF服务有两个文件。我倾向于将接口复制/粘贴到.cs文件中,这样我只需要处理单个文件
这样做有什么危险吗?这本身并不是危险,但有时,当您需要在服务器和客户端之间共享服务、操作和数据契约(基本上只是契约、接口)时,使用单独的程序集是非常有用的
与客户机共享整个服务实现代码(实现服务接口的实际服务类)是没有意义的
另外:如果您的接口位于单独的文件(可能还有程序集)中,那么编写单元测试就更容易了,特别是如果您想模拟服务的话。如果将接口和类混合到一个文件中,会有点混乱
我有这种情况。客户要求我们提供Web服务。我创建了一个WCF服务。在我们将我们的url发送到web服务描述之后,客户说
事实上,我们不能使用WCF
服务,你能把它发布到网上吗
服务
现在我想知道,他们要我一个asmx。。。正当
有没有什么方法可以让我把我的WCF服务作为asmx服务“提供”,这样我就不必重写整件事了
我的第一个“解决方案”是让一个.asmx文件直接调用我的.svc文件。。。我不知道。我还没试过,但我正朝着那个方向前进
任何想法都将不胜感激
托尼这是完全可以做到的。只需使用使用ba
我试图在我的WCF应用程序中实现每请求一个会话的模型,我已经阅读了无数关于这个主题的文档,但似乎还没有完整的演示。实际上,我看到了一些非常有用的文章,比如:
但这些都是从旧时代开始的,当时NHibernate和NHibernate没有特定于WCF的实现,因此他们通过实现他们的定制服务提供商实现了我所需要的,等等。由于NHibernate和NHibernate现在都有WCF支持,我想通过使用他们的模块来保持一致,但最后我到了这里
基本设置和流程应如下所示:
在nhibernate配置中将Curr
我在服务器计算机上安装了WCF服务的证书。它安装在证书管理器的本地计算机区域。但是,当我运行该服务时,它会说它找不到私钥文件。当我找到私钥时,它位于我的用户帐户区域。为了让WCF运行,它正在运行HTTP,据我所知,它必须在“所有用户”区域中拥有私钥才能获得权限。如何安装证书以使私钥位于“所有用户”区域而不是“登录用户名”区域?makecert命令似乎没有对此进行任何设置。您应该将证书安装到服务帐户或计算机帐户。您可以通过向管理控制台添加证书管理单元来完成此操作:
开始->运行->MMC
文件->
我正在尝试解决如何恢复使用WorkflowServiceHost自托管的持久化工作流。目前,我的主机连接了持久性和空闲行为,如下所示:
// Persistence
var connStr = @"";
var behavior = new SqlWorkflowInstanceStoreBehavior(connStr);
behavior.InstanceCompletionAction = InstanceCompletion
标签: Wcf
actioncontractoperationoperationcontract
我们的第三方API提供了两种不同的web服务,但具有相同的方法、模型。然而,它们只是在URI(Web服务路径、操作路径[操作契约]上有所不同
因此,我决定:
使用VS从他们的wsdl生成代码
编辑名称空间以使用相同的名称空间并使其成为“公共”名称空间,而不是使用服务引用,我使用reference.cs编辑的代码
创建一个新代理,该代理将处理要使用的服务的正确URI(将Reference.cs包装在其中)
现在,我对“Method1”有一个问题,因为它们有不同的操作名称。有一个例外:
“服务器无法
我对silverlight的概念不太熟悉,从这个网站上了解的东西很少。
我想澄清我的疑问,wcf ria服务在silverlight应用程序中扮演什么角色?
我们所说的域服务是什么意思?域服务允许您使用WCF技术访问远程存储库。Silverlight compact.Net框架位于客户端,需要通过云(internet)访问服务,以便能够与用户交互数据
你可以从一开始
快乐阅读 域服务允许您使用WCF技术访问远程存储库。Silverlight compact.Net框架位于客户端,需要通过云(in
我想知道是否有任何方法可以强制客户端调用双工WCF服务上的特定方法。我的情况是,我的服务实现将保留一个订阅者集合。这种方法的问题是,如果客户端不调用Subscribe(),该怎么办?我在想,在我的客户机接口中,我会有一个名为Subscribe的方法,但这并不能让我取得任何进展,因为实际调用该服务的代码仍然可以被排除在实现之外。这可能吗
谢谢 双工WCF服务使用WCF会话,因此您可以使用以下标记您的订阅方法:
[OperationContract(IsInitiating=true)]
void
我有一个Windows应用程序与银行使用的WCF服务。
使用此服务的几个Windows 7客户端工作正常,其中一个是Windows XP客户端,当该服务连接并开始工作时,对任何其他客户端的服务都没有响应;直到Windows XP客户端关系中断。
感谢和尊重。那项服务,你到底要做什么?
我有一个像标准web服务一样使用的WCF服务,但我还想为各种服务设置提供一个配置UI。当服务不在IIS中托管时,是否可以提供标准HTML页面?如果是这样,有什么“陷阱”?是的,这是可能的。您可以在.NET应用程序中承载WCF服务,也可以在HTTP或TCP端口上承载Windows服务
然后,您必须将站点托管在另一台web服务器上,并在web应用程序中创建对WCF服务的引用。WCF是用于创建服务的API。处理“配置网页”超出此API的范围。如果您真的想这样做,这意味着您必须创建另一个REST(web
我是wcf的新手,正在尝试注册一个wcf扩展,这样我就可以最终打开/关闭一个NHibernate会话
不过,我还是在一开始就注意到了细节。我不得不做一些猜测,因为它不是第一次编译的。(NHibernateEndpointExtension:IExtension此iheritance在示例中没有类型)。
它只是不注册扩展名。当我调用wcf时,集合中没有扩展名
没有错误消息,在我能看到的任何日志中都没有显示任何内容
有人知道我在哪里可以看到一些日志或其他东西吗
我的web.config如下
&l
我尝试了各种选项,但无法确定如何将日期时间值传递给服务呼叫:
http://localhost:64550/LimCmsDataService.svc/Listing?id='1,2,3,4'&startDate=datetime'2000-12-12T12:00%22'
http://localhost:64550/LimCmsDataService.svc/Listing?id='1,2,3,4'&startDate='2000-12-12T12:00%22'
有人能帮我把
我对在WCF和WF上使用Ninject还很陌生,目前我还停留在如何在CodeActivity类上使用属性注入的问题上
范例
公共密封类测试输入:CodeActivty
{
[注入]
公共IRepository存储库{get;set;}
//定义字符串类型的活动输入参数
公共非语法文本{get;set;}
//如果活动返回值,则从CodeActivity派生
//并从Execute方法返回值。
受保护的覆盖无效执行(CodeActivityContext上下文)
{
//获取文本输入参数的运行时值
我有一个大问题,它与NHibernate的交易有关
首先,我可以说SessionManager(线程安全、懒惰的单例)创建了一个SessionFactory,并为我提供了会话对象。事务管理是内置的
接下来,我有一个带有hibernate映射(xml,不流畅)和poco的DAL
WCF服务免费提供一些poco,通过以下方式实现:
public string UpdateCustomer(Customer customer, ExtraParameters extraParameters)
我已经开始在MVVM体系结构中构建WPF应用程序(使用Prism基础设施)
我需要WPF应用程序连接到几个不同的WCF服务
我有点困惑,因为我在网上找不到这种行为的任何样本
我发现了一些连接到WCF服务的Silverlight+Prism示例,但它们总是异步连接
这有什么原因吗?(我的服务都是“同步的”。Silverlight只支持异步WCF调用,所以所有这些示例都是这样做的
Prism中没有任何东西可以阻止您进行同步WCF调用,但您将无法为Silverlight多目标定位这些模块。就UI而言(
我在创建WCF服务客户端对象时遇到了一个问题
HelloServiceClient helloWorldClient=新的HelloServiceClient(“BasicHttpBinding_IDataAccess”)
以下是我的ServiceReferences.ClientConfig的内容
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding
标签: Wcf
workflow-activity
我已经创建了一个WPF丰富的应用程序,允许用户创建自定义工作流活动(创建、编辑、保存、运行),该应用程序运行正常
我还创建了一个WPFBrowser应用程序版本,并将其发布到IIS web服务器。问题出在IIS中,我刚找到一些文件:
ApplicationName.exe:可执行程序集应用程序文件
ApplicationName.xbap:部署清单
ApplicationName.exe.manifest:应用程序清单
是否有一种方法可以在IIS上保存我的其他项目资源(例如:图标、.cs类、
我正在使用CXF2.7.0创建一个java客户机,以使用SOAP的WCF web服务。
我已经使用wsdl2java工具生成了与web服务通信所需的类
我的问题是,在端点绑定上的web服务中,reliableSession被启用,因此,当我尝试使用cxf向web服务发送消息时,我得到了
Oct 19, 2012 1:11:59 AM org.apache.cxf.ws.rm.Proxy invoke
INFO: Sending out-of-band RM protocol message {h
对于使用WCF服务的Silverlight应用程序,我遇到了一个非常奇怪的问题(至少很奇怪,因为它在过去对我有效)
当我在localhost中调试Silverlight应用程序和WCF时,它工作得非常好。当我发布这两个项目时,它们工作得非常完美。问题是,当我尝试根据已发布的WCF调试Silverlight应用程序时。。。它抛出典型的跨域异常
我保证我已经将clientaccesspolicy.xml和crossdomain.xml上传到服务器的根路径中
在fiddler中,它甚至没有在崩溃之前尝
我正在一个小型web服务器场(5台web服务器)上设置AppFabric缓存集群
缓存群集安装在运行IIS的相同服务器上(如果需要)
我只对模型层使用AppFabric缓存,这意味着主要是从数据库查询创建的业务逻辑对象。没有页面缓存或类似功能
当在主网站上启用时,该功能可以正常工作
然而,在5台web服务器中的一台上,还有第二个IIS站点,该站点承载了两个服务,其中包括3个WCF端点,以及2个老式的ASMX web服务
当我为这个站点启用AppFabric缓存时,它会破坏整个集群。调用Get C
我们有三种类型的应用程序:
MainSite MVC Web角色,6个实例
CoreServices基于TCP的WCF工作者角色,20个实例
新功能PreviewsiteOne MVC Web角色,3个实例
新功能预览站点2
... 14新功能预览网站12
MainSite和CoreServices在一个部署中捆绑为两个角色。每2个月更新一次。MainSite通过CoreServices上的InternalEndpoint访问CoreServices。这太棒了
我们现在想添加新功能Previe
实际上,我使用高级安装程序为WCF服务创建了MSI包。
现在我想使用*INNO SETUP*为WCF服务创建MSI或exe包。
我正在使用Inno Script Studio 5.5.3。
我是Inno安装的初学者,现在只有我安装了Inno安装应用程序,所以我什么都不知道。
我有一个dll,它是在WCF服务的帮助下创建的。然后我用dll创建了窗口服务应用程序,然后用服务应用程序创建了exe包
如何使用INNO安装程序创建MSI或exe包。
可以单独使用WCF服务dll创建安装程序。
否则,如果我
我需要开发一个服务(最好是零配置的自足EXE,无需),客户端是智能设备(.NET Compact Framework),如下所示:
我还应该使用WCF技术吗?是否有现代/轻量级的替代方案?什么是“我需要开发服务(最好是零配置的独立EXE,不需要IIS)”的意思?请完整描述您的问题。客户端的硬件/软件要求:1..10 WinCE 6.0设备,采用Compact Framework 3.5,服务器:Windows XP SP3或Windows 7或Windows 2003/2008服务器,未安装I
标签: Wcf
nettcpbindingoperationcontext
我有一个基于WCF、tcp的客户机-服务器应用程序(自托管),其中通过回调进行通信,InstanceContextMode为PerSession。我想为这个应用程序提供一个管理界面,允许管理员查看所有连接用户的详细信息,并提供一定程度的管理控制(例如强制断开会话)
由于我使用回调,每个客户端代理都通过构造函数为服务器提供其实例上下文。例如,客户机使用以下命令向服务器实例化其代理:
public class ClientCallbackHandler : IMyServerCallback
{
这是一个与我之前关于测试WCF的帖子不同的问题
这次在我创建了服务之后,我不想通过WSDL来测试它,而是想通过jQuery使用$.ajax发送一个ajax请求
我不知道如何连接服务,使其准备好接收请求。我是否需要在IIS中安装和运行服务?或者有没有一种方法可以运行WCF项目来运行服务,然后在NUnit单元测试中创建jquery来进行HttpRequest..这意味着它会知道服务已经启动并运行了吗?如何操作?您可以在IIS、windows服务或控制台应用程序中托管您的服务。对我来说,在单元测试中调
我试图通过使用SOAP1.2消息连接到一些WCFWeb服务来扩展一个经典的ASP站点。因此,在客户端,没有绑定,我只是使用XMLHTTP
由于EndpointDispatcher中的AddressFilter不匹配,我收到了无法在接收方处理带有To的消息的可怕消息。错误
我的客户机正在使用自签名SSL证书,并且服务端也设置了SSL证书
此问题的大多数解决方案都涉及在客户端上配置ServiceBehavior以关闭地址筛选器,但这在本例中不适用。有什么帮助吗
代码
我用VBScript创建了一个类
我通读了msdn,其中说要启用端口共享:应该启动端口共享服务,我的net.tcp绑定应该指定“portSharingEnabled=True”
我还看到net.tcp绑定文档将端口共享的默认值显示为false
但在我的VS 2013 WIN 7 machine中,我有一个控制台应用程序,其中包含许多服务,我可以在VS上运行它,而不会出现任何问题。我的servichost能够在同一端口上承载10多个服务。我缺少什么来理解?有什么想法吗
我将此端点后跟servicename用于我的所有服务:
标签: Wcf
queuelistenerservicebus
我正在尝试设计一个WCF服务,它将侦听WSSB1.1队列。Pl在下面找到服务合同和配置
[ServiceContract]
public interface IService
{
[OperationContract(IsOneWay = true, Action = "*")]
[ReceiveContextEnabled(ManualControl = true)]
void ReceiveDocument(System.ServiceModel.Channels.M
标签: Wcf
instancecontextmode
我们有一个WCF服务,它使用BasicHttpBinding公开了几个操作,服务实现是这样的
Public Class MyService
{
private IHandler1 _handler1 = GetHandler1();
private IHandler2 _handler1 = GetHandler12();
private IHandler3 _handler1 = GetHandler3();
Public Void HandleMessage(string
在我更改服务的名称空间之前,这个服务一直工作得很好。还更改了项目中的默认命名空间。我得到了一些关于不发布元数据的错误,所以我取消了我的更改,并且没有任何东西可以工作。我甚至创建了一个新的服务来测试是否能再次运行,而当我尝试测试我的rest服务时,我得到的不是http 400。这是漫长的一周,我正全力以赴。有人能看出我做错了什么吗
Update:HTTP 400已经消失,这是我所看到的错误:错误:无法获得元数据,如果这是您可以访问的Windows R通信基础服务,请检查您是否已在指定地址启用元数据
我需要验证来自请求的数据。到目前为止,我所做的是:
添加了对DevTrends.WCFDataAnnotations和System.ComponentModel.DataAnnotations
在服务实现中放置[ValidateDataAnnotationsBehavior]
在数据上放置属性,如:
private int items=0
[DataMember]
[范围(0,6,ErrorMessage=“项目必须是介于0和6之间的整数”)]
这就是我们所需要的一切。我错过了什么?当我发送So
我正在使用.NET应用程序中的第三方Soap服务,并且不断出现以下错误-
内容类型text/html;响应消息的字符集=UTF-8不存在
与绑定的内容类型不匹配(text/xml;charset=utf-8)
我检查了configuration.svcinfo,绑定似乎是basicHttpBinding。从soap响应来看,它似乎是soap 1.1。我能够使用下载的Soap客户机获得此响应,但当从.NET应用程序调用时,我得到此错误。我查阅了许多文章,其中一些提到了与SOAP1.2相关的问题,我
我正在尝试让WCF服务在InstanceContextMode下运行。这样所有请求都可以共享相同的服务状态。但是,当我尝试用这种行为启动服务时,我仍然可以看到服务的构造函数在每个请求中都会被调用。我想不出更新ServiceBehaviorAttribute的快速方法,所以我要替换它(InstanceContextMode的默认值不是单值)。在我们启动它的时候,似乎有一个实例,然后是另一个实例,用于稍后传入的所有请求。你知道哪里出了问题吗
/// <summary>Constructo
在命令提示符下启动
svcutil "C:\Users\...\Documents\Visual Studio 2015\Projects\WcfServiceLibrary1\WcfServiceLibrary1\bin\Debug\WcfServiceLibrary1.dll"
输出:
Microsoft (R) Service Model Metadata Tool
[Microsoft (R) Windows (R) Communication Foundation, Version
我是WCF新手,我有一个服务,我想在控制台应用程序中使用它,我运行svcutil.exehtt://localhost:58221/myservice.svc/mex给了我两个输出,一个是cs文件,另一个是XML,我在我的应用程序设置中复制并粘贴了配置文件,但我不知道是否也应该使用cs文件?怎么做?它给了我这样的例子:
class Test
{
static void Main()
{
MyServiceServiceClient client = new MyS
我希望测试并观察WCF客户端和服务主机之间的超时行为。对于receiveTimeout和sendTimeout,可能很容易传输一个需要几秒钟以上的大字节流,并将这些超时属性设置为低得离谱的值
但是,由于除了调用serviceProxy.Open()或.Close()方法之外,没有什么可以做的,因此我在想,延迟WCF连接的打开和关闭,跨越openTimeout和closeTimeout阈值的好方法是什么?如果您正确地公开了您的契约(作为接口),您可以模拟抛出TimeoutException的代理实