如何以编程方式为 WCF 服务设置单个端点

2024-01-02

我试图允许用户配置 WCF 服务,包括该服务侦听的 IP 和端口号。用户有一个单独的配置应用程序,允许设置这些值,但我遇到的问题是 app.config 必须定义一个端点才能创建新的 ServiceHost 条目...但我的端点正在被在单独的配置文件中定义,然后必须在运行时以编程方式绑定。

如果我执行以下操作(基于如何以编程方式修改 WCF app.config 端点地址设置? https://stackoverflow.com/questions/966323/how-to-programatically-modify-wcf-app-config-endpoint-address-setting:

        m_SvcHost = new ServiceHost(this);

        if (Config.ServiceEndpoint != null && Config.ServiceEndpoint != String.Empty)
        {
            m_SvcHost.AddServiceEndpoint(typeof(IMyService),
                new BasicHttpBinding(),
                Config.ServiceEndpoint);
        }

        m_SvcHost.Open();

该服务将侦听 app.config 中定义的 URI 和配置文件中定义的 URI。我无法找到删除原始端点或在未定义端点的情况下创建服务的方法。

从配置应用程序写入 app.config 不是一个选项 - 我需要以编程方式从单独的 XML 配置文件中提取配置的值......

有什么想法吗?

编辑:该服务作为 Windows 服务运行并公开 HTTP 端点,它不是作为 IIS 中托管的 Web 服务运行 - 如果这会改变一切


Justin,

这对你有帮助吗?此代码将允许您响应您在 CreateServiceHost() 方法中列出的任何地址。

public class CRSyncServiceHost : ServiceHost
{
    public CRSyncServiceHost(Type serviceType, params Uri[] baseAddresses) : base(serviceType, baseAddresses) { }

    protected override void ApplyConfiguration()
    {
        base.ApplyConfiguration();
    }
}

public class CRSyncServiceFactory : ServiceHostFactory
{
    protected override System.ServiceModel.ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses)
    {
        Uri newServiceAddress = new Uri("http://someaddress.com/CRSyncService.svc");
        CRSyncServiceHost newHost = new CRSyncServiceHost(serviceType, newServiceAddress);
        return newHost;
    }
}

<%@ ServiceHost Language="C#" Debug="true" Service="CRSyncService" Factory="CRSyncServiceFactory" CodeBehind="CRSyncService.svc.cs" %>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何以编程方式为 WCF 服务设置单个端点 的相关文章

  • boost::multi_index_container 复合键中的 equal_range 与比较运算符

    我正在尝试从多索引容器查询结果 其中值类型是三个元素的结构 第一个值已给出 但第二个和第三个值必须大于或小于查询参数 经过搜索后 我发现必须实现自定义密钥提取器 并且这里的一些链接建议相同 但我无法实现它 boost multi index
  • Signalr 在生产服务器中总是陷入长轮询

    当我在服务器中托管应用程序时 它会检查服务器端事件并始终回退到长轮询 服务器托管环境为Windows Server 2012 R1和IIS 7 5 无论如何 我们是否可以解决这个问题 https cloud githubuserconten
  • 如何在 Unity 中从 RenderTexture 访问原始数据

    问题的简短版本 我正在尝试访问 Unity 中 RenderTexture 的内容 我一直在使用 Graphics Blit 使用自己的材质进行绘制 Graphics Blit null renderTexture material 我的材
  • 为什么 POSIX 允许在只读模式下超出现有文件结尾 (fseek) 进行搜索

    为什么寻找文件结尾很有用 为什么 POSIX 让我们像示例中那样在以只读方式打开的文件中进行查找 c http en cppreference com w c io fseek http en cppreference com w c io
  • 将字符串从非托管代码传递到托管

    我在将字符串从非托管代码传递到托管代码时遇到问题 在我的非托管类中 非托管类 cpp 我有一个来自托管代码的函数指针 TESTCALLBACK FUNCTION testCbFunc TESTCALLBACK FUNCTION 接受一个字符
  • c 中的错误:声明隐藏了全局范围内的变量

    当我尝试编译以下代码时 我收到此错误消息 错误 声明隐藏了全局范围内的变量 无效迭代器 节点 根 我不明白我到底在哪里隐藏或隐藏了之前声明的全局变量 我怎样才能解决这个问题 typedef node typedef struct node
  • C# 用数组封送结构体

    假设我有一个类似于 public struct MyStruct public float a 我想用一些自定义数组大小实例化一个这样的结构 在本例中假设为 2 然后我将其封送到字节数组中 MyStruct s new MyStruct s
  • A* 之间的差异 pA = 新 A;和 A* pA = 新 A();

    在 C 中 以下两个动态对象创建之间的确切区别是什么 A pA new A A pA new A 我做了一些测试 但似乎在这两种情况下 都调用了默认构造函数 并且仅调用了它 我正在寻找性能方面的任何差异 Thanks If A是 POD 类
  • 编译的表达式树会泄漏吗?

    根据我的理解 JIT 代码在程序运行时永远不会从内存中释放 这是否意味着重复调用 Compile 表达式树上会泄漏内存吗 这意味着仅在静态构造函数中编译表达式树或以其他方式缓存它们 这可能不那么简单 正确的 他们可能是GCed Lambda
  • 如何在 Team Foundation 上强制发表有意义的签入评论?

    我有一个开发团队有一个坏习惯 他们写道poor签入评论 当我们必须在团队基础上查看文件的历史记录时 这使得它成为一场噩梦 我已经启用了变更集评论政策 这样他们甚至可以在签到时留下评论 否则他们不会 我们就团队的工作质量进行了一些讨论 他们很
  • 使用 LINQ 查找列表中特定类型的第一个元素

    使用 LINQ 和 C 在元素列表中查找特定类型的第一个项目的最短表示法是什么 var first yourCollection OfType
  • Windows 10 中 Qt 桌面应用程序的缩放不当

    我正在为 Windows 10 编写一个简单的 Qt Widgets Gui 应用程序 我使用的是 Qt 5 6 0 beta 版本 我遇到的问题是它根本无法缩放到我的 Surfacebook 的屏幕上 这有点难以判断 因为 SO 缩放了图
  • 更改窗口的内容 (WPF)

    我创建了一个简单的 WPF 应用程序 它有两个 Windows 用户在第一个窗口中填写一些信息 然后单击 确定 这会将他们带到第二个窗口 这工作正常 但我试图将两个窗口合并到一个窗口中 这样只是内容发生了变化 我设法找到了这个更改窗口内容时
  • 网络参考共享类

    我用 Java 编写了一些 SOAP Web 服务 在 JBoss 5 1 上运行 其中两个共享一个类 AddressTO Web 服务在我的 ApplycationServer 上正确部署 一切都很顺利 直到我尝试在我的 C 客户端中使用
  • 在 URL 中发送之前对特殊字符进行百分比编码

    我需要传递特殊字符 如 等 Facebook Twitter 和此类社交网站的 URL 为此 我将这些字符替换为 URL 转义码 return valToEncode Replace 21 Replace 23 Replace 24 Rep
  • 作为字符串的动态属性名称

    使用 DocumentDB 创建新文档时 我想设置属性名称动态地 目前我设置SomeProperty 像这样 await client CreateDocumentAsync dbs db colls x new SomeProperty
  • 已过时 - OpenCV 的错误模式

    我正在使用 OpenCV 1 进行一些图像处理 并且对 cvSetErrMode 函数 它是 CxCore 的一部分 感到困惑 OpenCV 具有三种错误模式 叶 调用错误处理程序后 程序终止 Parent 程序没有终止 但错误处理程序被调
  • ListDictionary 类是否有通用替代方案?

    我正在查看一些示例代码 其中他们使用了ListDictionary对象来存储少量数据 大约 5 10 个对象左右 但这个数字可能会随着时间的推移而改变 我使用此类的唯一问题是 与我所做的其他所有事情不同 它不是通用的 这意味着 如果我在这里
  • Bing 地图运行时错误 Windows 8.1

    当我运行带有 Bing Map 集成的 Windows 8 1 应用程序时 出现以下错误 Windows UI Xaml Markup XamlParseException 类型的异常 发生在 DistanceApp exe 中 但未在用户
  • 如何在 C# 中播放在线资源中的 .mp3 文件?

    我的问题与此非常相似question https stackoverflow com questions 7556672 mp3 play from stream on c sharp 我有音乐网址 网址如http site com aud

随机推荐

  • 如何仅使用 CSS 制作圆形面包屑

    有谁见过可用的 css3 解决方案来实现上述内容吗 我想找到一种不需要图像的方法 也不重写其他人可能已经很好解决的问题 有人知道现有的解决方案吗 使用起来相当简单CSS3 s border radius财产 现场演示 http jsbin
  • 重命名数据库中的所有表

    我有一个数据库 其中所有表都以一组相同的字符为前缀 这样做是因为它们曾经位于一个为宠物项目设置的共享数据库中 其中包含数百个其他表 应用程序以及数据库现在已准备好脱离该阶段并准备独立运行 我想删除每个表的前缀 有没有比右键单击并单独重命名每
  • 更改 nginx 上的标头“Django 管理”文本

    我跟着这个问题 https stackoverflow com questions 4938491 django admin change header django administration text更改我的 django 管理面板标
  • 根据表格数据找到每个部门的第三个最高工资

    我需要找出3rd maximum salary对于一个员工 对于一个部门的每个部门table if no 3rd maximum salary存在然后显示2nd maximum salary if no 2nd maximum salary
  • 如何从电子邮件地址获取 SMTP 服务器

    我想通过特殊的电子邮件帐户自动发送邮件 但现在 我只知道电子邮件地址 电子邮件受保护 cdn cgi l email protection和密码 那么你知道如何获取 SMTP 服务器吗 下面是我的 C 代码 SmtpClient clien
  • Perl:何时释放不需要的标量内存而不超出范围?

    我有一个应用程序 可以将大量文本数据读取为标量 有时甚至是 GB 大小 我用substr在该标量上将大部分数据读取到另一个标量中 并将提取的数据替换为空字符串 因为第一个标量中不再需要它 我最近发现 Perl 没有释放第一个标量的内存 但它
  • 单击时,循环遍历每个对象键

    我还在学习 JS 有些东西比其他人更难理解 就像这样 我试图通过允许用户单击自定义按钮来更改谷歌地图的主题 我正在使用 if else 效果很好 但我想添加更多主题并使用循环 用户每次单击时 都会选择 object key 0 then c
  • 从 C++ 调用 DLL 中的函数

    我在 VS 2008 中有一个解决方案 其中有 2 个项目 一个是用 C 编写的 DLL 另一个是从空白项目创建的简单 C 控制台应用程序 我想知道如何从应用程序调用 DLL 中的函数 假设我从一个空白的 C 项目开始 并且我想调用一个名为
  • 打印所有定义的变量和值

    这只是为我提供了已定义变量的数组 但没有打印出任何变量 我怎样才能打印值 另外我可以使用什么函数以这种格式输出所有定义的变量 变量名称 变量类型 int array string bool 在线定义变量 脚本中定义的变量 使用次数可变 变量
  • 了解并发.futures.Executor.map()

    我正在尝试使用进程并行化一些Python代码concurrent futures https docs python org 3 library concurrent futures html 看起来我可以通过以下方式多次并行执行一个函数提
  • Windows 服务启动/停止另一个服务

    我用 C 编写的服务有一个小问题 该服务本身运行正常并且在 SYSTEM 帐户下运行 在一个执行点期间 我必须启动或停止另一项服务 然而 这是行不通的 致电给OpenService 返回错误代码 5 即 访问被拒绝 提供更多细节 我必须启动
  • 列表到字典

    我有一个List
  • 如何在 SQL Server 中选择连续重复项

    我想从 SQL Server 表中选择重复的条目 但前提是 id 是连续的 我一直在努力扭转这个答案 https stackoverflow com a 3298645 1778169满足我的需要 但我无法让它工作 上面的答案是针对Orac
  • AudioKit - 如何从麦克风获取实时 floatChannelData?

    我是 Audiokit 的新手 我正在尝试对来自麦克风的输入音频进行一些实时数字信号处理 我知道我想要的数据在AKAudioFile的FloatChannelData中 但是如果我想实时获取这个数据怎么办 我目前正在使用 AKMicroph
  • 通过门户从 Azure Cosmos DB 删除所有/多个文档

    是否可以通过 azure 门户 Azure cosmos SQL 查询或 power shell 脚本删除集合中的所有 多个可用文档 根据我的经验 删除所有文档的最快方法是将容器上的 生存时间 设置为 1 秒 这将删除所有文档 但请注意 此
  • 验证 CSS 选择器

    有没有办法以编程方式检查 javascript jquery 选择器的有效性 like class还好但是 class is not 以 JavaScript 或任何后端语言编程 除了通过 jQuery 源代码 所以在伪代码中 def se
  • Maven2 和 Swing 项目:构建并运行 swing 应用程序

    我试图找到有关如何使用 Maven 构建和运行 swing 应用程序的信息 但找不到任何有用的信息 maven 文档一团糟 有人可以指出我相关的文档吗 有人在 Swing 开发中使用 Maven 吗 我猜您想从 Maven 命令运行您的应用
  • 控制 Facebook iFrame 应用程序父框架的滚动位置

    我已经有一个 Facebook iFrame 应用程序愉快地启动并运行 但我意识到由于跨域问题 我没有办法处理父框架的滚动位置 如果用户在页面上点击太远 我无法将它们弹出到顶部 有没有人有幸使用 Facebook JS 库或其他 JavaS
  • 如何更改内容安全策略指令以允许 addThis 小部件?

    我正在制作一个使用 webpack 的网站 我正要启动它并且我想穿上addThis分享小部件 我正在添加addThis代码在index html按照建议关闭正文标签之前addThis 像这样 这会在 chrome inspect 控制台中生
  • 如何以编程方式为 WCF 服务设置单个端点

    我试图允许用户配置 WCF 服务 包括该服务侦听的 IP 和端口号 用户有一个单独的配置应用程序 允许设置这些值 但我遇到的问题是 app config 必须定义一个端点才能创建新的 ServiceHost 条目 但我的端点正在被在单独的配