使此 WCF 客户端代码在 Mac 上的 Mono 和 MonoTouch 上运行?

2023-12-28

我试图让以下代码在 Mono 控制台应用程序中工作,并作为 MonoTouch 应用程序的最终目标。该代码在使用 Windows 控制台应用程序的 VS2008 下运行良好。 当在 Mac 上将其作为 Mono 控制台应用程序运行时,我得到

未处理的异常:System.NotImplementedException:请求的 功能未实现。在 System.ServiceModel.Channels.SecurityBindingElement.CanBuildChannelFactory[IDuplexChannel] (System.ServiceModel.Channels.BindingContext 上下文)[0x00000] 中 :0

在 MonoTouch 中,我收到此错误:

未处理的异常:System.ServiceModel.FaultException:错误 验证消息的安全性时发生。在 System.ServiceModel.MonoInternal.ClientRuntimeChannel.Request (System.ServiceModel.Description.OperationDescription od, System.Object[] 参数)[0x00188] 中 /Developer/MonoTouch/Source/mono/mcs/class/System.ServiceModel/System.ServiceModel/ClientRuntimeChannel.cs:545

有人可以解释一下出了什么问题吗?为了简单起见,没有涉及 app.config。

using System;
using MonoAPI3.BLAPI3Session;
using Brainloop.ServiceLibrary.DataModel;
using System.ComponentModel;
using System.ServiceModel;

public static void Main()
{
System.Net.ServicePointManager.ServerCertificateValidationCallback += (se, cert, chain, sslerror) => { return true; };

var oClient = new SessionServiceClient( new BasicHttpBinding( BasicHttpSecurityMode.TransportWithMessageCredential )
            {
                CloseTimeout = new TimeSpan( 0, 0, 10 ),
                OpenTimeout = new TimeSpan( 0, 1, 0 ),
                ReceiveTimeout = new TimeSpan( 0, 1, 0 ),
                SendTimeout = new TimeSpan( 0, 1, 0 ),
                AllowCookies = false,
                BypassProxyOnLocal = false,
                HostNameComparisonMode = HostNameComparisonMode.StrongWildcard,
                MaxBufferSize = 65536,
                MaxBufferPoolSize = 524288,
                MaxReceivedMessageSize = 65536,
                MessageEncoding = WSMessageEncoding.Text,
                TextEncoding = System.Text.Encoding.UTF8,
                TransferMode = TransferMode.Buffered,
                UseDefaultWebProxy = true,
                ReaderQuotas = new System.Xml.XmlDictionaryReaderQuotas()
                {
                    MaxDepth = 32,
                    MaxStringContentLength = 8192,
                    MaxArrayLength = 16384,
                    MaxBytesPerRead = 4096,
                    MaxNameTableCharCount = 16384
                }

            },
            new EndpointAddress( "https://service.myserver.com/Service/V3/Session.svc" ) );

            oClient.ClientCredentials.UserName.UserName = "[email protected] /cdn-cgi/l/email-protection";
            oClient.ClientCredentials.UserName.Password = "pwd";

            SessionInfo oInfo = oClient.StartSession();

            Console.WriteLine( "SESSION HASH: " + oInfo.SessionHash );
}

有问题的代码行是:

BasicHttpSecurityMode.TransportWithMessageCredential

Mono 不支持 WS-Security。基本上BasicHttpSecurityMode 有很多选项都不起作用。如果您需要消息凭据,那么恐怕此代码无法工作。这是一个相关链接:

http://lists.ximian.com/pipermail/mono-bugs/2010-January/096972.html http://lists.ximian.com/pipermail/mono-bugs/2010-January/096972.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使此 WCF 客户端代码在 Mac 上的 Mono 和 MonoTouch 上运行? 的相关文章

  • 扩展 Mono C# 编译器:有任何文档或先例吗?

    我目前正在参与一些有趣的编程语言研究 到目前为止 这些研究的重点是通过一些非常强大的基于程序员生产力的功能来扩展即将推出的 Java 7 0 编译器 这项工作应该同样适用于 C 等相关编程语言 我目前正在研究用于对该功能的 C 端口进行原型
  • 如何研究.NET 中的非托管内存泄漏?

    我有一个通过 MSMQ 运行的 WCF 服务 内存随着时间的推移逐渐增加 表明存在某种内存泄漏 我在本地运行该服务并使用 PerfMon 监视一些计数器 CLR 内存托管堆字节总数保持相对恒定 而进程的私有字节随着时间的推移而增加 这让我相
  • WCF - 进行多次调用时随机客户端超时

    我有一个WPF客户端通过以下方式请求数据WCF服务托管于IIS 7 服务方法调用存储过程 SQL 2012 using EF检索一些数据 由于需要加载大量数据 因此客户端会多次调用服务方法 以 分解 数据加载并避免大量负载和超时 我们使用生
  • 将 SAML 令牌与 Web 服务 (wsdl) 结合使用

    我已从提供商处获得了 wsdl 文件和 pfx 我致电 IdP 并获取 SAML 令牌 现在我需要将该令牌传递给 WebService 如何使用 SAML 令牌来处理 WebService 我正在使用 NET 4 5 在以下两篇文章的帮助下
  • 带有 WCF BadContextToken 的 PHP Soap 客户端

    经过几天的谷歌 in 尝试 脱发 我仍然找不到解决方案 所以请帮助 简短信息 我需要使用 PHP SOAP 客户端 的 WCF 服务 它使用 wsHttpBinding ws security 并且无法设置 basicHttpBinding
  • WCF - IsOneway 的行为不像 Oneway 操作

    我已在服务的某些方法上定义了 OneWay 属性 但它们的行为并不像 Oneway 调用 我的客户等待呼叫完成并从服务返回 我假设单向操作是非阻塞操作 并且客户端不关心被调用函数会发生什么 它只是调用并忘记它 这是对的吗 问题 调用 Ope
  • 添加UITabBarController并且没有NavigationController

    由于我是 Xamarin IOS 的新手 我想问一个问题 我已经关注了这个例子 https developer xamarin com guides ios user interface controls creating tabbed a
  • wsdl 文件中的 svcutil:找不到目标命名空间的错误架构

    在我的机器上 我有一个 WSDL 文件和所有必需的架构文件 我正在尝试使用 svcutil 从 WSDL 创建客户端代理代码 命令 svcutil myfile wsdl 我在使用 svcutil 时不断收到错误 但在使用soapUI 加载
  • 在 WCF 上重用我的 PagedList 对象

    问题 我有一个自定义集合PagedList
  • 测试项目和配置文件

    我的 Visual Studio 2008 解决方案中有这种设置 一个使用库 Lib1 需要 app config 文件中的一些配置条目 的 WCF 服务项目 WCFService 我有一个单元测试项目 MSTest 其中包含与 Lib1
  • 如何使用 WSDL 和 XSD 的注释生成 .NET 类

    有一些 XSD 和 WSDL 我想从它们生成 C 代码 我使用了 svcutil exe 但它不会从 XSD 注释生成 XML 注释
  • C# MonoGame 有帮助吗? (Content.Load("入侵者");)

    我正在 MonoGame 中使用 Open GL 制作太空入侵者游戏 并且尝试加载已添加到内容文件夹中的纹理 这是一个名为 Invader 的 PNG 文件 我使用的代码是 invader Content Load
  • 我应该何时何地使用 WCF

    我浏览了几个在线教程 其中涵盖了 WCF 的优点 如何构建服务 客户端等 不过 我想了解一点整体情况 问题 gt 什么样的应用程序或应用程序中的哪些功能要求我使用 WCF 功能 一个具体的例子应该可以更好地帮助我 有几种情况 需要 WCF
  • 从一个客户端使用多个 WCF 服务

    我的网络场有 10 台运行 IIS 的服务器 在每台服务器上我都有相同的网站和相同的 WCF 服务 它公开了一些用于读取 删除缓存 会话 应用程序变量和其他内部数据的功能 在其他一些 Web 服务器上 我有一个 管理 Web 应用程序 它是
  • nHibernate + wcf + Isession

    我有一个包含 3 个项目的 C 解决方案 数据 WCF 和 UI 第一个是与数据库对话的类库 它通过第二个项目公开 该项目的类型为 WCF 服务库 原因是它将在第三个项目 称为 UI 的 Asp net 应用程序 作为指向 dll 的简单
  • 如何更改便携式 xamarin ios 项目中的启动屏幕?

    我正在使用便携式 xamarin 形式 其中项目是 IOS 项目 在 IOS 项目中 我想创建闪屏 我在 ios 项目属性中添加了 Iphone 启动图像和 iPad 启动图像 当我运行该应用程序时 它显示默认的启动屏幕 我还尝试从 inf
  • WCF 服务参考支持文件未更新

    我有一个 VS 2010 解决方案 其中包含一个 WCF 服务项目和一个单元测试项目 单元测试项目有一个对WCF服务的服务引用 WCF 服务项目的 Web config 将许多绑定属性设置为非默认值 网络配置 特别注意maxBufferSi
  • 使用 ELMAH 记录 WCF 服务的异常

    我们正在使用优秀的ELMAH http code google com p elmah处理 ASP NET 3 5 Web 应用程序中未处理的异常 这对于除使用 REST 功能使用的 WCF 服务之外的所有站点都非常有效 当操作方法中发生应
  • 创建WCF数据服务以在服务主机中使用

    我有一个服务应用程序 它通过不同的绑定托管多个 WCF 端点 我现在想在同一服务主机中托管 WCF 数据服务 这个帖子 https stackoverflow com questions 2926767 wcf data service h
  • 通信对象 System.ServiceModel.Channels.ServiceChannel 不能用于通信

    通信对象System ServiceModel Channels ServiceChannel 无法用于通信 因为它处于故障状态 这个错误到底是什么意思 我该如何解决它 您收到此错误是因为您让服务器端发生 NET 异常 并且您没有捕获并处理

随机推荐

  • mongodb 文档大小限制是否会从 16MB 增加?

    文档大小从 4MB 增加到 16MB 2010年12月 https jira mongodb org browse SERVER 431 还会进一步增加吗 如果是的话什么时候 解决该大小的一项工作是通过创建更多集合并执行应用程序级别连接 不
  • 将 html 表转换为 pandas 数据框

    我一直在尝试从网站导入 html 表并将其转换为 pandasDataFrame 这是我的代码 import pandas as pd table pd read html http www sharesansar com c today
  • LibGdx:使用手势监听器

    我想使用一些您无法访问的更复杂的触摸屏手势 Gdx input 我发现要做到这一点 我必须创建一个手势侦听器 因此我创建了 GestureHandler 类并从wiki https code google com p libgdx wiki
  • 如何接受<>指定另一个键?或者更快的方法来区分两个巨大的 List<>?

    我有一个清单AE AlignedPartners数据库中的项目 我用以下方法检索 List
  • 电话号码无法在 IOS 模拟器上处理

    我正在为 IOS 开发一个基于phonegap的应用程序 该应用程序已经为Android开发完成 我在 html 页面上有以下链接 a href 0180123456789 a Android 设备可以正确解释它 如果我在 XCode 中的
  • 响应 NSNotifications 时,更新 UIViews 的最佳实践是什么

    由于 NSNotification 在主线程以外的线程上调用其选择器 因此我注意到您为响应该通知而对 UIView 或其他界面元素所做的任何更改通常都很难生效 如果主线程很忙 就像我的经常这样 这是最严重的 我可以通过调用 performS
  • 随机且唯一的子集生成

    假设我们有从 1 到 25 的数字 我们必须选择 15 个数字的集合 如果我没猜错的话 可能的集合是 3268760 在这 3268760 个选项中 您必须生成 100000 个 生成 100000 个唯一且随机的子集的最佳方法是什么 有没
  • T 树或 B 树

    T树算法描述于这张纸 http www vldb org conf 1986 P294 PDFT Tree是T tree的改进 可以更好地使用查询操作 包括范围查询 并且包含T tree的所有其他良好功能 该算法在论文 T tree A M
  • 使用 fields_for 时如何将范围应用于关联?

    我有一个包含许多任务的项目 每个任务都属于一个人 在我的项目编辑表单中 我允许编辑现有任务并使用嵌套对象表单工具添加新任务 http ryandaigle com articles 2009 2 1 what s new in edge r
  • 如何在iOS上使用代码截屏?

    如何以编程方式截取屏幕截图 您可以使用UIGraphicsBeginImageContext以此目的 例如 UIGraphicsBeginImageContextWithOptions self view bounds size self
  • 制作第三代iPad应用程序的注意事项

    我目前正在制作一个 iPad 应用程序 其中的视图是为 iPad 2 分辨率创建的 不过现在iPad已经出了双倍分辨率了 我也得支持一下 请直接告知要在应用程序中进行哪些更改才能支持 iPad 2 和第 3 代 iPad 我能想到的唯一方法
  • 使用 C# 和 UI Automation 获取未知控件类型的内容

    下图中有一个区域 其具有未知 自定义 类别 那不是网格或表格 我需要能够 选择该区域中的行 从每个单元格中获取一个值 问题是因为这不是一个常见的类型元素 我不知道如何用谷歌搜索这个问题或自己解决它 到目前为止 代码如下 Process pr
  • 交换结构体数组中的元素

    假设我有这个结构 struct MyStruct int iID int iMyNumber 然后我定义一个 MyStructs 数组 struct MyStruct msTest 3 我正在通过查看 ID 对类似于此的结构进行排序操作 现
  • 在 Nuxt.js (SPA) 中使用“

    我使用 nuxt js express 启动该项目 我们为 nuxt js 中的每个组件 vue 开发了样式 因此 在路由时 属性会叠加在同一个类名 样式 上 从而导致页面无法正常显示 1 样式范围 的正确用法是什么 2 或者路由过程应该是
  • 如何在 Notepad++ 中模仿 Visual Studio 的 CTRL-X、CTRL-V 功能?

    I m using Notepad for some projects and miss Visual Studio s Ctrl X Ctrl C functionality that cuts or copies the entire
  • 从另一个表单显示一个表单

    当我想通过单击另一个表单中的按钮来显示表单 C 时 我通常从要显示的表单创建一个对象并使用 show 方法 Form2 f2 new Form2 f2 Show 或者我与 所有者 一起工作 Form2 tempForm new Form2
  • 如何使用 WhenCustomCommandReceived 设置 Topshelf?

    我正在使用 Topshelf 创建一个 Windows 服务 ServiceClass 并且我正在考虑使用 WhenCustomCommandReceived 发送自定义命令 HostFactory Run x gt x EnablePau
  • 在使用 reticulate 创建的 virtualenv 中安装特定版本的 python 包

    使用时reticulate为了在 R 中使用 Python 我们可以通过命令创建一个 virtualenvreticulate virtualenv create指定 env 名称和 python bin 的路径 我们还可以将包添加到之前创
  • 将日期发布到 Web API 的正确方法?

    我正在从 Web API 读取数据并填充表单 当我将其提交回 Web API 时 出现以下错误 Message 发生错误 ExceptionMessage 属性 类型 MvcApplication1 Models ProductSale 上
  • 使此 WCF 客户端代码在 Mac 上的 Mono 和 MonoTouch 上运行?

    我试图让以下代码在 Mono 控制台应用程序中工作 并作为 MonoTouch 应用程序的最终目标 该代码在使用 Windows 控制台应用程序的 VS2008 下运行良好 当在 Mac 上将其作为 Mono 控制台应用程序运行时 我得到