Endpoint 与 Windows 沉浸式项目版本 1 不兼容

2023-12-07

由于某种原因,我使用“添加服务引用”向导为 wcf 服务生成代码时出错。

Custom tool warning: No endpoints compatible with version 1 of windows immersive project were found.    C:\work\test_projects\CirMetro\Service References\SvcProxy\Reference.svcmap 1   1   CirMetro

你们知道如何解决吗?

我的示例 WCF 服务非常简单。这是源代码:

static void Main()
{
    UiWcfSession.OnInitialize += ClientInitialize;

    var baseAddresses = new Uri("net.tcp://localhost:9000/");

    var host = new ServiceHost(typeof(UiWcfSession), baseAddresses);

    var reliableSession = new ReliableSessionBindingElement { Ordered = true, InactivityTimeout = new TimeSpan(24, 20, 31, 23) };
    var binding =
        new CustomBinding(reliableSession, new TcpTransportBindingElement()) { ReceiveTimeout = TimeSpan.MaxValue };

    host.AddServiceEndpoint(typeof(IClientFulfillmentPipeService), binding, "svc");

    var metadataBehavior = new ServiceMetadataBehavior();
    host.Description.Behaviors.Add(metadataBehavior);
    var mexBinding = MetadataExchangeBindings.CreateMexTcpBinding();
    host.AddServiceEndpoint(typeof(IMetadataExchange), mexBinding, "mex");

    host.Open();

    Thread.CurrentThread.Join();
}

private static void ClientInitialize(int uiprocessid, string key)
{
    Debug.WriteLine("ClientInitialize");
}

我想到了。

不幸的是,我们必须反编译 Visual Studio 的源代码才能找出 Metro 中有效的内容,而不是参考不存在的文档:-)

简而言之,我无法使用 ReliableSession。

如果您想了解更多详情C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies\Microsoft.VisualStudio.ServiceReference.Platforms.dll包含检查支持的功能。

private static bool IsBindingSupported(Binding binding)
{
    if ((!(binding is BasicHttpBinding) && !(binding is CustomBinding)) && (!(binding is WSHttpBinding) && !(binding is NetTcpBinding)))
    {
        return false;
    }
    if (binding is WSHttpBinding)
    {
        if (((WSHttpBinding) binding).ReliableSession.Enabled)
        {
            return false;
        }
        if (((WSHttpBinding) binding).TransactionFlow)
        {
            return false;
        }
        if (((WSHttpBinding) binding).MessageEncoding != WSMessageEncoding.Text)
        {
            return false;
        }
    }
    if (binding is NetTcpBinding)
    {
        if (((NetTcpBinding) binding).ReliableSession.Enabled)
        {
            return false;
        }
        if (((NetTcpBinding) binding).TransactionFlow)
        {
            return false;
        }
    }
    foreach (BindingElement element in binding.CreateBindingElements())
    {
        if (element is TransportBindingElement)
        {
            if ((!(element is HttpTransportBindingElement) && (!(element is HttpsTransportBindingElement) || (element as HttpsTransportBindingElement).RequireClientCertificate)) && !(element is TcpTransportBindingElement))
            {
                return false;
            }
        }
        else if (element is MessageEncodingBindingElement)
        {
            if (!(element is BinaryMessageEncodingBindingElement) || (((BinaryMessageEncodingBindingElement) element).MessageVersion != MessageVersion.Soap12WSAddressing10))
            {
                if (element is TextMessageEncodingBindingElement)
                {
                    if ((((TextMessageEncodingBindingElement) element).MessageVersion != MessageVersion.Soap11) && (((TextMessageEncodingBindingElement) element).MessageVersion != MessageVersion.Soap12WSAddressing10))
                    {
                        return false;
                    }
                }
                else
                {
                    return false;
                }
            }
        }
        else if (element is SecurityBindingElement)
        {
            if (!(element is TransportSecurityBindingElement))
            {
                return false;
            }
            TransportSecurityBindingElement element2 = (TransportSecurityBindingElement) element;
            if (!ValidateUserNamePasswordSecurityBindingElement(element2))
            {
                if (((((element2.EndpointSupportingTokenParameters.Endorsing.Count == 1) && (element2.EndpointSupportingTokenParameters.Signed.Count == 0)) && ((element2.EndpointSupportingTokenParameters.SignedEncrypted.Count == 0) && (element2.EndpointSupportingTokenParameters.SignedEndorsing.Count == 0))) && ((element2.EndpointSupportingTokenParameters.Endorsing[0] is SecureConversationSecurityTokenParameters) && ((element2.MessageSecurityVersion == MessageSecurityVersion.WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10) || (element2.MessageSecurityVersion == MessageSecurityVersion.WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10)))) && ((element2.IncludeTimestamp && (element2.DefaultAlgorithmSuite == SecurityAlgorithmSuite.Default)) && (element2.SecurityHeaderLayout == SecurityHeaderLayout.Strict)))
                {
                    SecureConversationSecurityTokenParameters parameters = (SecureConversationSecurityTokenParameters) element2.EndpointSupportingTokenParameters.Endorsing[0];
                    if (parameters.RequireDerivedKeys || !(parameters.BootstrapSecurityBindingElement is TransportSecurityBindingElement))
                    {
                        return false;
                    }
                    TransportSecurityBindingElement bootstrapSecurityBindingElement = (TransportSecurityBindingElement) parameters.BootstrapSecurityBindingElement;
                    if (!ValidateUserNamePasswordSecurityBindingElement(bootstrapSecurityBindingElement))
                    {
                        return false;
                    }
                }
                else
                {
                    return false;
                }
            }
        }
        else if ((!(element is SslStreamSecurityBindingElement) || (element as SslStreamSecurityBindingElement).RequireClientCertificate) && !(element is WindowsStreamSecurityBindingElement))
        {
            if (!(element is TransactionFlowBindingElement))
            {
                return false;
            }
            if ((!(binding is WSHttpBinding) || ((WSHttpBinding) binding).TransactionFlow) && (!(binding is NetTcpBinding) || ((NetTcpBinding) binding).TransactionFlow))
            {
                return false;
            }
        }
    }
    return true;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Endpoint 与 Windows 沉浸式项目版本 1 不兼容 的相关文章

  • 动态加载程序集的应用程序配置

    我正在尝试将模块动态加载到我的应用程序中 但我想为每个模块指定单独的 app config 文件 假设我的主应用程序有以下 app config 设置
  • 不支持将数据直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery)

    正在编码视觉工作室2012并使用实体模型作为我的数据层 但是 当页面尝试加载时 上面提到的标题 我使用 Linq 语句的下拉控件往往会引发未处理的异常 下面是我的代码 using AdventureWorksEntities dw new
  • ASP.NET MVC:这个业务逻辑应该放在哪里?

    我正在开发我的第一个真正的 MVC 应用程序 并尝试遵循一般的 OOP 最佳实践 我正在将控制器中的一些简单业务逻辑重构到我的域模型中 我最近一直在阅读一些内容 很明显我应该将逻辑放在域模型实体类中的某个位置 以避免出现 贫血域模型 反模式
  • 用于检查类是否具有运算符/成员的 C++ 类型特征[重复]

    这个问题在这里已经有答案了 可能的重复 是否可以编写一个 C 模板来检查函数是否存在 https stackoverflow com questions 257288 is it possible to write a c template
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • BitTorrent 追踪器宣布问题

    我花了一点业余时间编写 BitTorrent 客户端 主要是出于好奇 但部分是出于提高我的 C 技能的愿望 我一直在使用理论维基 http wiki theory org BitTorrentSpecification作为我的向导 我已经建
  • 用于登录 .NET 的堆栈跟踪

    我编写了一个 logger exceptionfactory 模块 它使用 System Diagnostics StackTrace 从调用方法及其声明类型中获取属性 但我注意到 如果我在 Visual Studio 之外以发布模式运行代
  • Clang 3.1 + libc++ 编译错误

    我已经构建并安装了 在前缀下 alt LLVM Clang trunk 2012 年 4 月 23 日 在 Ubuntu 12 04 上成功使用 GCC 4 6 然后使用此 Clang 构建的 libc 当我想使用它时我必须同时提供 lc
  • 不同枚举类型的范围和可转换性

    在什么条件下可以从一种枚举类型转换为另一种枚举类型 让我们考虑以下代码 include
  • 显示UnityWebRequest的进度

    我正在尝试使用下载 assetbundle统一网络请求 https docs unity3d com ScriptReference Networking UnityWebRequest GetAssetBundle html并显示进度 根
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • Windows 窗体:如果文本太长,请添加新行到标签

    我正在使用 C 有时 从网络服务返回的文本 我在标签中显示 太长 并且会在表单边缘被截断 如果标签不适合表单 是否有一种简单的方法可以在标签中添加换行符 Thanks 如果您将标签设置为autosize 它会随着您输入的任何文本自动增长 为
  • 向现有 TCP 和 UDP 代码添加 SSL 支持?

    这是我的问题 现在我有一个 Linux 服务器应用程序 使用 C gcc 编写 它与 Windows C 客户端应用程序 Visual Studio 9 Qt 4 5 进行通信 是什么very在不完全破坏现有协议的情况下向双方添加 SSL
  • 如何从两个不同的项目中获取文件夹的相对路径

    我有两个项目和一个共享库 用于从此文件夹加载图像 C MainProject Project1 Images 项目1的文件夹 C MainProject Project1 Files Bin x86 Debug 其中有project1 ex
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • C# 成员变量继承

    我对 C 有点陌生 但我在编程方面有相当广泛的背景 我想做的事情 为游戏定义不同的 MapTiles 我已经像这样定义了 MapTile 基类 public class MapTile public Texture2D texture pu
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查
  • 对来自流读取器的过滤数据执行小计

    编辑问题未得到解答 我有一个基于 1 个标准的过滤输出 前 3 个数字是 110 210 或 310 给出 3 个不同的组 从流阅读器控制台 问题已编辑 因为第一个答案是我给出的具体示例的字面解决方案 我使用的实际字符串长度为 450 个

随机推荐

  • JavaScript 键码是什么? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 JavaScript 有哪些可用的键码 如果所有浏览器的键码不相同 请列出每个浏览器的键码 键码是不同的从 ASCII 值 有关完整的 keyCod
  • 将 2d 向量初始化为类变量 C++

    我正在构建一个类 其中一个变量是二维向量 如何设置才能获得初始大小 我尝试了以下方法 但出现错误 在数字常量之前应有 或 另外 当我尝试将值设置为 pncode 的每一行时 我都会收到错误 数组下标的类型 int 无效 这是课程 ifnde
  • InvokeDynamic 参数的动态类型

    为了支持动态类型和方法分派 我的编程语言引入了一种称为dynamic 当调用类型为的被调用者的方法时dynamic 编译器首先将被调用者和所有参数压入堆栈 然后生成一个invokedynamic指令而不是正常的invoke 操作说明 该指令
  • Chrome 扩展程序:sendMessage 不起作用

    我已经读过几次 Google 关于 消息传递 的文档 并且可能查看了 10 多个具有相同问题的其他问题 并且已经尝试了他们的大多数 解决方案 和我下面的内容的一些变体 这就是黑魔法吧 不管怎样 就这样吧 清单文件 manifest vers
  • 未使用 MSBuild、Teamcity 复制 Bin 文件夹

    我有一个非常奇怪的问题 我创建了一个自定义 MSBuild 任务 它将 MVC 项目所需的所有文件移动到特定位置 以便我们可以发布它 当我在我的计算机上本地触发脚本时 这工作正常 但一旦我检查此更改并且 Teamcity 运行脚本 它就会复
  • MySQL 从表 WHERE 条件多行中选择一个字段

    试图找到答案 但还是找不到 表格如下 id keyword value 1 display 15 6 1 harddrive 320 1 ram 3 所以我需要的是这样的 从这个表中选择一个 id keyword display and v
  • C# 对象数组,非常大,寻找更好的方法

    好的 所以在我的一个项目中 我试图重新设计它存储某些变量的方式 我有一个简单的对象数组 这些对象引用的类是 class Blocks public byte type Block Empty byte lastblock Block Zer
  • Wix:通过在立即操作中设置属性来访问延迟操作中的属性:字典中不存在给定的键

    我正在关注几个来源 SO 帖子 甚至是 Wix 安装程序书 这就是我目前在立即自定义操作中设置两个属性 然后尝试在延迟操作中读取它的方式 但是 它不起作用 失败并回滚 并且我不断收到System Collections Generic Ke
  • 在 Mac OS X 上以编程方式为 Matplotlib 选择正确的后端

    我有一个程序集成了 tkinter GUI 和 matplotlib 图 使用 pyplot 为了让这个程序在各种 Mac 平台上正常工作 我遇到了无尽的麻烦 主要问题似乎是后端的适当选择 在某些情况下 程序运行良好没有问题 在其他情况下
  • 为低于 31 的 API 创建 LocationRequest

    我有compileSdkVersion 32 现在我可以创建LocationRequest仅使用LocationRequest Builder LocationRequest create 目前不可用 这意味着我什至无法调用这个已弃用的静态
  • 将指数分布叠加到直方图上

    如何在时间间隔直方图上叠加指数分布 直方图看起来像指数分布 当我尝试以与叠加法线曲线类似的方式创建直方图时 我得到以下结果 Error in xy coords x y x and y lengths differ 我可以自己创建直方图 它
  • 用于 Caffe 的 Python 还是 Matlab?

    我将致力于在 Caffe 中实现 DQN 和 Google DeepMind 的最新扩展 为此 我将编写一个模拟器 代替 Atari 模拟器 来为代理创建培训体验 我的问题是 Matlab 或 Python 的 Caffe 接口中哪一个最成
  • 有没有办法通过sql获取Windows任务管理器详细信息?

    我无法访问客户端的 Windows 远程计算机 我仅通过 tsql 连接他们的数据库服务器 我需要检查哪些进程占用了更多内存并通知他们 有没有tsql查询来获取windows进程 对的 这是可能的 您可以致电TASKLIST命令通过xp c
  • 错误:未定义对“cv::imread(std::string const&, int)”的引用

    我是 Qt 新手 我有一个需要在 Qt 中配置 OpenCV 的项目 我尝试在 Qt 中运行一个简单的代码 但出现此错误 未定义的引用 cv imread std string const int 这是我的代码 include opencv
  • 当键为数字时,如何从多维数组中回显单个值?

    以此数组为例 Array events gt Array 0 gt Array event gt Array category gt seminars sales status gt Live 如何检索类别的值 我尝试过各种组合 例如 ec
  • PHP 将重复行插入数据库

    我使用以下代码将用户插入到名为 accounts 的表中 session start include include connect php Posted information from the form put into variabl
  • jQuery 事件:检测 div 的 html/文本的更改

    我有一个 div 它的内容一直在变化 是吗 ajax requests jquery functions blur等等等等 有没有办法可以随时检测到 div 上的任何变化 我不想使用任何间隔或检查的默认值 像这样的事情会做 mydiv co
  • 如何测试 dockerignore 文件?

    读完后 dockerignore文档 我想知道有没有办法测试一下 Examples node modules 如何检查我的 dockerfile 忽略正确的文件和目录 扩展至VonC的建议 这是一个示例构建命令 您可以使用它来使用当前文件夹
  • Spring Data Rest @EmbeddedId 无法从 Post Request 构造

    我有一个 JPA 实体Person和一个实体Team 两者都由一个实体连接人与团队 该连接实体与以下对象保持多对一关系Person和一到Team 它有一个由 id 组成的多列键Person和Team 由 EmbeddedId 表示 为了将嵌
  • Endpoint 与 Windows 沉浸式项目版本 1 不兼容

    由于某种原因 我使用 添加服务引用 向导为 wcf 服务生成代码时出错 Custom tool warning No endpoints compatible with version 1 of windows immersive proj