草庐IT

wcf-authentication

全部标签

c# - 如何在 ASP.Net MVC 应用程序中使用来自 WCF 身份验证服务的身份验证 cookie

好吧,我没能找到适合我的特定场景的任何文档或教程。我有一个ASP.NetMVCweb应用程序,它将使用WCF服务来处理所有内容,包括身份验证和角色(通过WCF后端上的成员提供程序)。我没遇到过问题settinguptheauthenticationservices但它不会在网络应用程序中设置cookie。Loginmethodoftheservice的文档表明连接CreatingCookie事件是可能的,但它对客户端没有任何影响(我也在服务端尝试过,同样没有影响)。所以我想出了如何capturethecookie.我曾尝试在客户端手动设置authcookie,但到目前为止还没有用;由于

c# - 在 WCF JSON 服务中禁用类型提示

我有一个应该是相对简单的问题,但我似乎找不到答案。当WCF执行对象序列化时,它会自动应用类型提示。对于Json服务,这会在每个名为__type的复杂对象上产生一个额外的字段。对象定义为:[DataContract]publicclassSomeObject{[DataMember]publicstringFirst{get;set;}[DataMember]publicstringLast{get;set;}}会序列化为:{"First":"Hello","Last":"World!","__type":"SomeObject#MyNamespace.SomeObject"}通常这不是

c# - IEnumerable 和良好实践(和 WCF)

使用IEnumerable是一种好的做法吗?当您实际上不需要添加或删除东西而只是枚举它们时,是否在整个应用程序范围内?附带问题:您在返回IEnumerable时遇到过任何问题吗?来自WCF服务?这会给客户端应用程序带来问题吗?毕竟,我认为这将被序列化为一个数组。 最佳答案 我倾向于只返回IEnumerable当我想向调用者暗示实现可能使用惰性求值时。否则,我通常会返回IList或ICollection,并实现为ReadOnlyCollection如果结果应该是只读的。惰性评估可能是一个重要的考虑因素:如果您的实现可以抛出异常,则在调

c# - 将结构与 WCF 服务一起使用

对于使用结构作为WCF服务的返回类型是否有官方建议?我目前正在与一个不是我编写的服务进行交互,我发现自己受到启发去询问是否有必要让我感到烦恼。我过去一直使用类-部分原因可能是示例总是显示的内容,但正如我现在所想的那样,出于其他“直觉”原因:我通过定义一个单独的项目来开始契约(Contract)风格,该项目的接口(interface)表示将由服务来回传递的类型。我经常使用LINQ,因此可空性测试对于引用类型是隐式的,而对于结构和其他值类型,我总是需要将其标记为可为空。虽然我承认它比我脑海中的项目符号列表更直观,但我会立即想到这些。我想问这个问题是因为我正在处理返回结构的服务并且在处理返回

c# - HTTP header 或 SOAP header 中的 WCF Soap Actions?

我对SOAPAction是如何在WCF(以及与此相关的其他Web服务框架)中实现的感到有点困惑。在测试客户端中,我有一个客户端消息检查器,配置为抓取随请求发送的SOAP消息和任何HTTPheader。至少在客户端消息检查器中,操作显示为SOAPheader中的一个元素:http://myurl.com/2009/11/MyService/MyMethod但是,如果我在Fiddler中查看请求,Action元素会丢失,取而代之的是现在HTTPheader中有一个附加条目:SOAPAction:"http://myurl.com/2009/11/MyService/MyMethod"谁能解

c# - 如何在 WCF 中将接口(interface)标记为 DataContract

我有两个数据类,它们只包含数据成员(没有函数)。一个是CallTask​​,另一个是SmsTask。这两个类有一些共同的属性,如ID、Tel。我将这些公共(public)属性放在一个单独的接口(interface)类中,并在适当的时候在我的项目中使用这个接口(interface)类。现在我在我的项目中添加了一个WCFService以在客户端和服务器之间共享数据。考虑以下类设计:publicinterfaceIGsmTask:IComparable{stringTaskID{get;set;}stringSessionID{get;set;}stringTel{get;set;}}cla

c# - WCF 服务方法在 WCF 测试客户端中不可用,因为它使用类型

我正在尝试使用WCF测试客户端来测试我构建的WCF服务。该服务有一个方法“SubmitRequest”。[OperationContract]ResponseSubmitRequest(Requestrequest);当我加载WCF测试客户端时,该方法变灰并显示消息“WCF测试客户端不支持此操作,因为它使用类型WcfLibrary.Objects.Request下面是类型定义,有没有人看出什么不对?[DataContract]publicclassRequest{[DataMember]publicstringLoanNumber{get;set;}[DataMember]public

c# - 在使用 HTTPS 443 绑定(bind)托管的 WCF 服务中获取客户端 IP 地址

在我的一个应用程序中,需要使用HTTPS443绑定(bind)托管的WCF服务中的客户端IP地址。我尝试了堆栈溢出和其他网站上关于这个问题的大部分帖子,但是当我在服务器上托管我的应用程序时,它只是获取服务器IP地址,但我需要请求的客户端地址,任何人对此有任何想法提前致谢.. 最佳答案 在.NET3.5中,您可以使用以下模式(使用System.ServiceModel)OperationContextcontext=OperationContext.Current;MessagePropertiesprop=context.Incom

c# - 用于记录方法调用和异常的 WCF 服务属性

我需要记录WCF服务中的每个方法调用以及抛出的所有异常。这导致了很多冗余代码,因为每个方法都需要包含类似于这样的样板文件:[OperationContract]publicResultBaseAdd(intx,inty){varparameters=newobject[]{x,y}MyInfrastructure.LogStart("Add",parameters);try{//actualmethodbodygoeshere}catch(Exceptionex){MyInfrastructure.LogError("Add",parameters,ex);returnnewResul

c# - .Net Remoting 与 WCF

我正在开发一个将有1000个并发用户的.Net网站。我正在考虑将业务组件保留在应用服务器上,将UI组件保留在网络服务器上。数据库(MSSQLServer2005)将托管在另一台服务器上。我也打算使用负载平衡。鉴于此,如果我想获得最佳的应用程序性能和可扩展性,从Web服务器到应用服务器的最佳通信方式是什么? 最佳答案 可以查看hereWCF和其他通信技术(包括.Net远程处理)之间的性能比较。结论是:WCF更快。 关于c#-.NetRemoting与WCF,我们在StackOverflow