从wcf服务返回html

2023-11-22

我有一个网络服务,我需要从中返回一个包含 html 的字符串。此 html 是 Select 控件的标记(用于 jqGrid 搜索过滤器),例如

<select><option id='1'> value 1 </option></select>  

我的 WCF Web 服务包含一个以字符串形式返回该值的方法...

public string GetLeadTypeSelect()
{
    return "<select><option id='1'> value 1 </option></select>";
}  

这种方法的合同是:

[OperationContract]
[WebInvoke(Method = "GET",
    BodyStyle = WebMessageBodyStyle.Bare,
    ResponseFormat = WebMessageFormat.Json)]
string GetLeadTypeSelect();  

我的问题是转义字符被插入到字符串中,因此返回的 HTML 无用 - 服务返回以下内容:

"<select><option id='1'> value 1 <\/option><\/select>"  

引号和转义符'/'在结束时<option> and <select>标签都会引起问题。

jqGrid 使用返回的 HTML 来显示下拉列表...

filterModel: [
    { label: 'Type', name: 'type', stype: 'select', surl: '../../../Services/Leads/GetLeads.svc/GetLeadTypeSelect' },

所以,我的问题是,如何从该 Web 服务将纯 HTML 返回给客户端,以便将其插入到我的 HTML 页面中?

预先感谢您的任何帮助, 科林.


我知道这是一篇旧文章,但对于仅托管在 IIS 中的服务,这里有一种返回 html 的简单方法:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public Stream getHtml()
{
    // get the html
    var html = DoSomethingToGetHtml();  //Not a built-in .Net method ;)

    // we want our result interpreted as plain html
    WebOperationContext.Current.OutgoingResponse.ContentType = "text/html; charset=utf-8";

    // create a stream from our html because trying to return a string adds an extra header tag
    //      to the response.  Returning a stream returns the html by itself
    var result = new MemoryStream(Encoding.UTF8.GetBytes(html));

    // return the result
    return result;
}

此代码需要在托管服务的 web.config 中包含以下内容:

<system.serviceModel>
    <!-- enable HttpContext.Current by setting aspNetCompatibilityEnabled=true-->
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>

    <behaviors>
        <endpointBehaviors>
            <behavior name="webHttpEnabled">              
                <webHttp/>
            </behavior>
        </endpointBehaviors>
    </behaviors>
    ...
<system.serviceModel>

在服务的配置中,设置behaviorConfiguration="webHttpEnabled".

以这种方式返回 html 会稍微限制服务的可重用性,但如果您相当确定服务将始终托管在 IIS 中,那么这是解决问题的简单方法。

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

从wcf服务返回html 的相关文章

  • Twitter api 文本字段值被截断

    为什么文本字段值被截断以及如何获得完整的值 截至目前 我正在尝试获取如下所示的文本字段值 do if let responseObject try NSJSONSerialization JSONObjectWithData respons
  • 页面加载后 5 秒后加载 JavaScript?

    我已经尝试过以下方法 gt 这是正确的方法吗 我想这样做的原因是因为我的整个网站在页面加载时都处于动画状态 例如淡入淡出 我的 JavaScript 只会让动画变得不流畅 任何反馈表示赞赏 这段代码会起作用 只需以毫秒为单位设置时间并在 l
  • 如何在滚动时保持这些 tagHover 的位置靠近标签并且 tagHover 具有固定位置?

    https plnkr co edit PuP3f71kCjkqgjjMkgNS p preview https plnkr co edit PuP3f71kCjkqgjjMkgNS p preview 下面还有一个 stackoverfl
  • PyQt:数据不可 JSON 序列化

    我是 PyQt GUI 的新手 我想获取a的数据QLineEdit文本框 为此我正在使用text 方法 我正在获取数据 但数据类型是QString 我需要将其作为 json 数据传输到服务器 为此我使用json dumps 方法 但我收到错
  • 在 Chrome 中,应用于包含图像的锚点的轮廓高度不正确

    对于我正在开发的网站 我希望当链接聚焦 悬停 活动时 链接周围会出现虚线轮廓 我希望文本和图像链接发生这种情况 我遇到的问题是 虽然我的代码在 Firefox 和 IE 中运行良好 但在 Chrome 7 0 517 41 中 虚线轮廓与我
  • 将复杂对象传递到 WCF Rest 服务

    我有一个接受复杂对象的操作合约 并且我通过 jQuery 调用该操作 如何使用 jQuery 传递像这样的复杂类型对象 以下是操作签名 public Resolution CreateNewResolution Resolution New
  • 在响应模式下使用 CSS 更改元素顺序

    图1为桌面模式 下面两张图片和文字 总共三个div 图 2 是我希望它在移动浏览器 例如手机 中的显示方式 关于如何实现这一点有什么想法吗 我愿意接受任何建议 这个想法是让文本显示在图像上方 以最好地说明这两个图像的描述 在桌面版本中将文本
  • 常见 WCF 异常:连接意外关闭

    我有三个项目 一种是 WCF 服务项目 一种是 WPF 项目 一种是 Microsoft 单元测试项目 我使用如下所示的数据对象设置 WCF 服务项目 DataContract public enum Priority Low Medium
  • 将 C# WCF 扩展性代码移至配置文件

    以下代码将 ParameterInspector 添加到端点 ChannelFactory
  • 可见性的替代方案:折叠在 IE 和 Chrome 上不起作用

    以下页面 table border 1 tr class cccc td one td tr table 仅适用于 Firefox IE 始终显示该行 而 Chrome 隐藏该行但显示其垂直空间 那么 如何仅使用 CSS 完全隐藏一行呢
  • JQuery 可滚动文本

    我正在寻找一个 jquery 插件 它将在可滚动框中绑定文本 大多数滚动插件都会转换浏览器滚动条 但我想保持它的原样和可用 这只是为了在较小的空间内包含大量的文本 就像这样page http www class pm files jquer
  • BigQuery 如何获取 JSON 结构中的值的总和?

    我有以下查询 SELECT JSON EXTRACT json Weights as weight from select Weights blue 1 0 purple 0 0 yellow 1 0 green 1 0 as json 返
  • 光滑的旋转木马不工作

    我一直在尝试简单地实现 Slick Carousel 的工作 我已按照 Git 页面上的说明进行操作 https github com kenwheeler slick https github com kenwheeler slick 这
  • 单击输入字段会触发窗口调整大小

    我有一个带有徽标 菜单和搜索的标题 当我在桌面上时 我会按该顺序显示所有元素 但如果我的窗口宽度小于 980 像素 菜单会隐藏 有一个切换按钮 并且徽标会与nav并附在徽标之后 如果宽度更大 则徽标将再次分离并附加到 DOM 中的旧位置 w
  • canvas.getContext('2D') 返回空值

    我创建了一个画布并将其命名为getContext 方法 但它返回null为上下文 这是我使用的代码 我在控制台中得到了这个
  • AngularJS 输入字段未从控制器内的 setTimeout 更新

    我正在使用 AngularJS 支持的页面 并且我需要在只读输入文本字段内显示正在运行的时钟 与data ng model 为了模拟运行的时钟 我使用了 JavaScript 调度程序setTimeout每 1000 毫秒调用一个函数 该函
  • 如何在 div 容器内的元素之间留出空间

    我有一个弹性容器 它将由元素动态填充 容器没有固定宽度 I use max width max content 并且可以包含我想要的任意数量的元素 问题是我需要这些元素之间的间距 但不需要元素和容器之间左侧和右侧的间距 当然我可以用 ele
  • 有没有办法在 html 图像标签中显示位图数据? [复制]

    这个问题在这里已经有答案了 有没有办法在 HTML 元素中显示位图图像数据 例如 您有一个指向源文件的常规图像 如下所示 img src myImage png width 100 height 100 有没有这样的事情 img width
  • 为什么WCF中不允许方法重载?

    假设这是一个ServiceContract ServiceContract public interface MyService OperationContract int Sum int x int y OperationContract
  • 跨浏览器:禁用输入字段的不同行为(文本可以/不能复制)

    我有一个被禁用的输入 html 字段 在某些浏览器 Chrome Edge Internet Explorer 和 Opera 中可以选择并复制文本 但至少在 Firefox 中这是不可能的 您可以通过在不同浏览器中执行以下代码来测试

随机推荐

  • 将数据框转换为每月时间序列

    我有一个 100 年每月数据 1200 个数据点 的数据框 其中月份在列中 年份在行中 我想将其转换为每月的时间序列 并且我尝试了多种方法 但没有一种方法可以创建正确的 时间 结构 问题在于 R 将数据框视为 12 个变量 月份 的 100
  • C 指针算术 sizeof(struct)

    这是有问题的代码 include
  • 在 DVCS 中维护 Changelog.txt 文件

    我正在开发一个使用大量分支的 git 项目 在大多数情况下 这是一个非常棒的工作流程 我很高兴在分支之间进行合并 喜欢能够挑选代码 以及 git 和其他 dvc 附带的整体生命周期 我有一个痛点 真的很痛 如何维护changelog txt
  • 在大型解决方案中编译 C# 项目时如何利用多核 CPU?

    据我所知 VS2008 MSBuild不支持C 项目的多线程编译 不知道VS2010是否支持 您知道有这样做的第三方产品或开源项目吗 确实是MSBuild确实支持多核 虽然它有点像黑客 有一些限制 更容易从命令行 同样 一些构建服务器 如果
  • Dotpeek重新编译反编译文件

    我如何重新编译我编辑的代码 或者用原来的文件替换并在dotpeek中另存为exe 我尝试重新编译编辑的文件并保存它 但我不能 如果您找到任何方法请分享 谢谢 右键单击 Assembly Explorer 窗格中打开的文件 然后选择 导出到项
  • 在联接表 JPA 2 中映射额外属性

    我正在尝试按照此链接建模这种关系http www javaworld com javaworld jw 01 2008 images datamodel gif 这是订单和产品之间通常的多对多关系 但我不知道如何在连接表中添加额外的列 En
  • 如何使用 C# 获取 Windows 上 chrome.exe 的路径?

    我想从我的自动化测试框架启动 chrome 以便我可以测试我的服务器端 ASP NET 代码 确定 chrome exe 在我的计算机上的位置的最佳方法是什么 当 Chrome 安装在计算机上时 它会安装ChromeHTML网址协议 您可以
  • 如何缩小 .git 文件夹

    我目前的基地总面积约为 200MB 但我的 git 文件夹有 5GB 的惊人大小 由于我将工作推送到外部服务器 因此我不需要任何大量的本地历史记录 如何缩小 git 文件夹以释放笔记本上的一些空间 我可以删除 30 天之前的所有更改吗 莱纳
  • C++ 中“(void) new”是什么意思?

    我一直在看 Qttutorial它使用了我以前从未见过的结构 void new QShortcut Qt Key Enter this SLOT fire void new QShortcut Qt Key Return this SLOT
  • 比较 groovy 中的版本字符串

    嘿 我创建了一个 Groovy 脚本 它将提取某些文件夹的版本号 然后我想比较版本号并选择最高的 我让脚本在 dir 文件夹中运行 然后获取以下格式的版本 02 2 02 01 所以我可以得到这样的东西 02 2 02 01 02 2 02
  • 用于 Python 的 MS Analysis Services OLAP API [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我正在寻找一种方法来连接到 MS Analysis Services OLAP 多维数据集 运行 MDX 查询并将结果提取到 Python 中 换句话说 这正是 Excel 所做
  • 如何配置我的 iPhone 项目以使用单独的应用程序图标进行测试版

    我想要实现的是 我发送给 Beta 测试人员的构建中的应用程序图标与将提交审批的应用程序图标不同 这将使我和我的 Beta 测试人员能够轻松识别该应用程序是 Beta 版本 我不确定是否应该添加构建脚本来修改 info plist 并更改其
  • 如何将 Swift 结构作为参数传递给 Objective-C 方法

    我有一个接受类型参数的 Objective C 方法id我想向它传递一个 Swift 结构 ObjcClass m file implementation ObjcClass void addListener id listener Do
  • 在自定义活动设计器中将数据绑定到组合框

    我有一个自定义活动 有一个参数是一个字符串 但是 我不想让设计者输入任意字符串 而是希望向设计者提供一个带有选项列表的组合框 这些选项是动态的 并且从数据库加载到 List 集合中 我的问题是我不知道如何将设计器中的组合框绑定到此列表并将选
  • 通过网络读取和解析大型文本文件的最佳方法是什么?

    我遇到一个问题 需要我解析远程计算机上的多个日志文件 有一些并发症 1 该文件可能正在使用中 2 文件可能很大 100mb 3 每个条目可以是多行 为了解决使用中的问题 我需要先复制它 我目前正在将其直接从远程计算机复制到本地计算机 并在那
  • 如何在Python中的散点图上绘制一条线?

    我有两个数据向量 并将它们放入pyplot scatter 现在我想对这些数据绘制线性拟合 我该怎么做 我尝试过使用scikitlearn and np polyfit import numpy as np from numpy polyn
  • 对具有原始数字返回类型的方法的反思

    我目前正在开发一个小型框架来收集 OSGi 系统中的指标 它的核心是注释 Metric 它指示服务的给定方法可以在被请求时提供度量 例如数值 这些方法看起来像 Metric public int getQueueSize or Metric
  • maven没有找到类

    我继承了一个巨大的maven java项目 但无法编译它 mvn compile 它告诉我它找不到一个类 即使它就在本地仓库中 Failed to execute goal org codehaus enunciate maven enun
  • 如何在 Ruby 中实现抽象类

    我知道 Ruby 中没有抽象类的概念 但如果需要实施的话 我该如何实施呢 我尝试过这样的事情 class A def self new raise Doh You are trying to write Java in Ruby end e
  • 从wcf服务返回html

    我有一个网络服务 我需要从中返回一个包含 html 的字符串 此 html 是 Select 控件的标记 用于 jqGrid 搜索过滤器 例如