Tag: #wcf

在WCF跟踪上找不到配置评估上下文警告

我在.NET 4应用程序上托管了一组WCF服务。 我手动创建ServiceHost类并开始侦听TCP端口。 所有工作都按预期工作,但在服务器端的WCF跟踪中,我收到以下警告。 找不到配置评估上下文。 XML跟踪如下: 524312 3 0 4 BAROLO http://msdn.microsoft.com/it-IT/library/System.ServiceModel.EvaluationContextNotFound.aspx Configuration evaluation context not found. Server.Console.vshost.exe 有关警告原因的任何想法? 谢谢

RIA服务中的exception处理

如您所知,使用标准WCF服务的FaultException来建议处理exception以隐藏exception详细信息。 这没关系,但我遇到了WCF Ria服务的问题。 我想从域服务抛出exception,客户端将处理该exception。 我想避免泄露exception的敏感信息,如堆栈跟踪,方法名称等。如果它是标准的WCF服务,我会使用FaultExceptionexception,但在Ria服务中,它不起作用。 无论我从域服务抛出什么样的exception,客户端总是会得到DomainOperationException。 有没有办法可以从域服务向Silverlight客户端抛出FaultException(不透露实际的exception细节)? 例如,我有一个登录窗口。 当用户点击登录按钮时,应该有几个validation失败,例如: 用户名或密码无效 用户帐户已被锁定 该帐户未激活 等等 我希望每个可能发生的错误都有错误类型。 客户端应该检查出错的地方并相应地显示错误消息。 我禁用了customErrors但它没有帮助。 任何帮助,将不胜感激。 谢谢

如何在没有ServiceHost类的情况下使用WCF创建简单的Web服务器?

我已经开始学习WCF并希望通过直接使用通道堆栈创建一个简单的Web服务器来了解它的内部结构。 我在网上找到了很多理论,但是我希望看到一个接收和响应httprequest的工作示例代码,我可以使用任何浏览器进行测试。 我希望通过将绑定元素组装到响应请求的方式来显示自定义绑定的设置。

如何使用SOAP和不使用WSE在.NET中签署Amazon Web服务请求

亚马逊产品广告API(以前称为Amazon Associates Web服务或亚马逊AWS)已实施新规则,到2009年8月15日,必须对所有Web服务请求进行签名。 他们在他们的网站上提供了示例代码,展示了如何使用REST和SOAP在C#中执行此操作。 我正在使用的实现是SOAP。 你可以在这里找到示例代码,我不包括它,因为有相当数量。 我遇到的问题是他们的示例代码使用WSE 3,我们当前的代码不使用WSE。 有没有人知道如何使用WSDL中自动生成的代码来实现此更新? 如果我不需要,我现在不必切换到WSE 3的东西,因为这个更新更像是一个快速的补丁,让我们能够完全实现这个目前的开发版本(8月) 3,他们开始在实时环境中的5个请求中掉落1个,如果他们没有签名,这对我们的应用程序来说是个坏消息)。 这是执行SOAP请求实际签名的主要部分的片段。 class ClientOutputFilter : SoapFilter { // to store the AWS Access Key ID and corresponding Secret Key. String akid; String secret; // Constructor public ClientOutputFilter(String awsAccessKeyId, String awsSecretKey) { this.akid = awsAccessKeyId; this.secret = awsSecretKey; } // Here’s the core logic: // […]

如何在WCF中使用自己的权限?

我正在研究使用WCF内置function来帮助我实现位于WCF之上的授权服务。 我已经有了以下表格: User , Role , Permission (我也有复合实体: UserRole和RolePermission )。 Permission对象具有自定义属性,如bool CanRead , bool CanWrite 。 角色可以包含许多权限。 这如何与WCF现有的授权框架相结合? 我想尽量不要重新发明轮子。 我如何使用自己的权限? 我可以看到角色如何从.NET示例中工作,而不是我自己的自定义Permission实体。 有什么提示让我开始朝着正确的方向前进?

在 WCF服务异步和使用客户端上的任务调用同步方法之间是否存在显着差异?

如果我有一个定义的服务: [ServiceContract(SessionMode = SessionMode.NotAllowed)] public interface IMyService { [OperationContract(IsOneWay = true)] [ReceiveContextEnabled(ManualControl = true)] void DoSomething(Message message); } 我想从我的客户端异步调用它(使用不从svcutil生成的共享契约或添加服务引用)我可以这样做: Task task = Task.Factory.StartNew(() => myService.DoSomething(message)); … some other code task.Wait(); 我也可以将我的服务定义为异步: [ServiceContract(SessionMode = SessionMode.NotAllowed)] public interface ICacheKeyExchangeAsync { [OperationContract(IsOneWay = true, AsyncPattern = true)] [ReceiveContextEnabled(ManualControl = true)] IAsyncResult BeginDoSomething(Message message, AsyncCallback callback, object state); void […]

HTTP POST到WCF服务

我试图通过HTTP POST调用WCF服务,但该服务返回400错误。 我不知道这是由于OperationContract还是我正在进行POST的方式。 这是合同在服务器端的样子: [OperationContract, WebInvoke(BodyStyle = WebMessageBodyStyle.Wrapped)] Stream Download(string username, int fileid); 以下是我试图通过测试控制台应用程序调用服务的方法: HttpWebRequest webRequest = WebRequest.Create(“http://localhost:8000/File/Download”) as HttpWebRequest; webRequest.Method = “POST”; webRequest.ContentType = “application/x-www-form-urlencoded”; byte[] bytes = Encoding.ASCII.GetBytes(“username=test&fileid=1”); Stream os = null; webRequest.ContentLength = bytes.Length; os = webRequest.GetRequestStream(); os.Write(bytes, 0, bytes.Length); os.Close(); WebResponse webResponse = webRequest.GetResponse(); 编辑:我应该说清楚我的目标是测试服务,而不是让它接受原始的HTTP POST。 如果有更好的方法可以测试服务,请随时分享。

WCF新手问题:从JavaScript调用方法

问候! 我是WCF的新手,我认为它类似于ASP.NET Web服务,但我无法从客户端JavaScript调用方法。 我的网络表单如下所示: Click Me 我的服务界面如下所示: namespace Test { [ServiceContract(Namespace = “Test”)] public interface IMyService { [OperationContract] void DoWork(); [OperationContract] string SayHi(); } } 这是它的实现: namespace Test { [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] public class MyService : IMyService { public void DoWork() { } public string SayHi() { return “Hello, World!”; } } } 最后是JavaScript: function […]

.net Web服务最佳实践…… SRP?

什么被认为是.asmx或wcf服务类关于有多少文件,代码行,职责等的适当开发? 大多数人为每个class级的不同crud方法发布单独的.asmx服务文件吗?

WCF客户端使用多个使用HTTP Cookie的asmx服务

我试图在多个WCF客户端端点中使用相同的http cookie(实际上是asmx sessionid)。 服务器有几个端点,其中一个是: AuthenticationService.asmx Login()< – 创建一个HTTP cookie,它是ASP.NET sessionid的服务器 Logout()< – 销毁相同的cookie SomeOtherService.asmx DoSomeThing()< – 从AuthenticationService.asmx中重新获取有效的cookie。 如何跨多个端点共享HTTP Cookie。 我无法控制服务器代码,必须使用WCF。