ASP.NET MVC 和 WCF

2024-01-28

我目前正在努力学习 MVC,但在我的“在某个时刻学习”列表中,我还学习了 WCF。

我只是想知道 WCF 是否应该/可以在 MVC 应用程序中使用?背景是我想要一个桌面应用程序(.NET 3.5、WPF)与我的 MVC 网站交互,我想知道在两者之间传输数据的最佳方式是什么。我应该只使用特殊视图/让控制器返回 JSON 或 XML(使用 ContentResult)吗?

也许更重要的是,反过来说,我可以调用特殊的控制器吗?不确定授权在这种情况下如何工作。我可以使用 Windows 身份验证,或者(如果站点正在运行表单身份验证)让用户将他/她的凭据存储在应用程序中,但我实际上会在我的应用程序中创建一个 HTTP 客户端。因此,虽然 MVC => Application 看起来非常简单,但 Application => MVC 似乎确实有点棘手并且可能用于 WCF?

我并不是想在这方面强力使用 WCF,但我只是想知道 MVC 应用程序中是否确实存在 WCF 的良好用例。


WCF 服务在这种情况下可能有意义,但不要创建与 UI 一致的服务,而是创建与业务流程一致的服务。 IE。您不会有一个返回每个页面的视图数据的服务,您将有一个公开逻辑操作的服务。然后,您的站点可以调用 Windows 客户端调用的相同服务,但您不必将 Windows 客户端的设计与网站的设计结合起来。

而不是这个:

Windows 客户端 -> 服务 -> 网站

它应该是:

Windows 客户端 -> 服务

网站 -> 服务

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

ASP.NET MVC 和 WCF 的相关文章

  • 记录共享和映射的诊断上下文

    据我所知 其他人做了什么来解决 Commons Logging 项目 针对 NET 和 Java 不支持映射或嵌套诊断上下文这一事实 执行摘要 我们选择直接使用实现者日志框架 在我们的例子中为 log4j 长答案 您是否需要一个抽象日志框架
  • 使用 ELMAH 记录 WCF 服务的异常

    我们正在使用优秀的ELMAH http code google com p elmah处理 ASP NET 3 5 Web 应用程序中未处理的异常 这对于除使用 REST 功能使用的 WCF 服务之外的所有站点都非常有效 当操作方法中发生应
  • 使用 IdentityDbContext 和 Code First 自动迁移表位置和架构的实体框架?

    我正在尝试使用 IdentityDbContext 类设置自动迁移更新 并将更改传播到整个数据库的实际 DbContext 在进入代码之前 在使用自动迁移实现 IdentityDbContext 时 我收到此错误 影响迁移历史系统表位置的自
  • vb.net HtmlAgilityPack 在 div 之后插入字符串

    我试图在 div 末尾直接插入一些我自己的 html 这个 div 里面有其他 div Dim HtmlNode As HtmlNode HtmlNode CreateNode span class Those were the frien
  • 如何使用 WebResponse 下载 .wmv 文件

    我使用以下代码通过 WebResponse 获取 wmv 文件 我正在使用一个线程来调用这个函数 static void GetPage object data Cast the object to a ThreadInfo ThreadI
  • ASP.Net MVC AJAX 链接不起作用

    为了实现 AJAX 登录 我在我的页面上有这个链接 附近有一个 id 为 lll 的 div 当我单击该链接时 我得到了无聊的确认 只是出于调试目的而添加 没有它的行为是相同的 但然后什么也没有发生 没有请求到达服务器 因为我在 LogOn
  • Lightspeed 与 NHibernate

    有什么体验光速 http www mindscape co nz products LightSpeed comparison aspx Mindscape 提供的比较并没有过多说明 NHibernate Lightspeed 看起来很灵活
  • WCF 与 .Net 远程处理

    根据本文 http msdn microsoft com en us library bb310550 aspx 带有命名管道的WCF是IPC的最佳选择 它比 Net Remoting快25 左右 我有以下代码 将 WCF 与命名管道与 N
  • C# 中 DLL 和命名空间的关系

    这里有一个高级问题 今天我花了很多时间自学基本的高级概念 例如 API 静态和动态库 DLL 以及 C 中的编组 获得所有这些知识让我想到了一个看起来非常基本的问题 并且可能表明我对这些概念的理解存在漏洞 我知道的 DLL 可能包含类 这些
  • 构建:找不到“节点”的类型定义文件

    VS 2015 社区版 在家 npm 3 10 Angular 2 我试图在 ASP Net MVC 5 应用程序中获取 Angular2 设置 我开始使用的模板使用旧版本的 Angular 因此我更新了包引用 当我构建时 列表中的第一个错
  • 添加对共享类的多个 WCF 服务的服务引用

    我正在尝试将我的 WCF Web 服务拆分为几个服务 而不是一个巨大的服务 但是 Visual Studio Silverlight 客户端 复制了两个服务共享的公共类 这是一个简单的例子来说明我的问题 在此示例中 有两个服务 两者都返回类
  • 通信对象 System.ServiceModel.Channels.ServiceChannel 不能用于通信

    通信对象System ServiceModel Channels ServiceChannel 无法用于通信 因为它处于故障状态 这个错误到底是什么意思 我该如何解决它 您收到此错误是因为您让服务器端发生 NET 异常 并且您没有捕获并处理
  • ASP .NET MVC,创建类似路由配置的永久链接

    我需要帮助在 MVC 网站中创建类似 URL 路由的永久链接 Slug 已设置为 www xyz com profile slug 代码为 routes MapRoute name Profile url profile slug defa
  • 为什么密码错误会导致“填充无效且无法删除”?

    我需要一些简单的字符串加密 所以我编写了以下代码 有很多 灵感 来自here http www codeproject com KB security DotNetCrypto aspx create and initialize a cr
  • 自托管 WCF REST 服务和基本身份验证

    我创建了一个自托管的 WCF REST 服务 带有 WCF REST Starter Kit Preview 2 中的一些额外内容 这一切工作正常 我现在正在尝试向服务添加基本身份验证 但我在 WCF 堆栈中遇到了一些相当大的障碍 这阻止了
  • 从 Orchard 内的主题渲染图像

    我刚刚选择 Orchard 来构建我的博客 作为创建这个新博客的努力的一部分 我正在创建一个自定义主题 这个自定义主题同时具有 CSS 和图像 我的问题 我的问题基本上可以归结为 如何渲染属于主题一部分的图像 到目前为止我已经尝试过的 我尝
  • 过期时自动重新填充缓存

    我当前缓存方法调用的结果 缓存代码遵循标准模式 如果存在 则使用缓存中的项目 否则计算结果 在返回之前将其缓存以供将来调用 我想保护客户端代码免受缓存未命中的影响 例如 当项目过期时 我正在考虑生成一个线程来等待缓存对象的生命周期 然后运行
  • 将 HTML 表格导出到 Excel

    我在 ASP NET MVC 视图页面上有 HTML 表 现在我必须将该表导出到 Excel 1 我使用部分视图 Inquiries ascx 来显示数据库中的表数据 使用LINQ to Entity 2 我还使用了 UITableFilt
  • .NET UI 元素线程限制的原因

    我们知道 除了实例化元素的线程之外 不可能从任何线程执行操作任何 UI 元素属性的代码 我的问题是 为什么 我记得当我们使用 COM 用户界面元素时 在 COM Visual Basic 6 0 时代 所有 UI 元素都是使用 COM 类和
  • 过度使用委托对性能来说是一个坏主意吗? [复制]

    这个问题在这里已经有答案了 考虑以下代码 if IsDebuggingEnabled instance Log GetDetailedDebugInfo GetDetailedDebugInfo 可能是一个昂贵的方法 因此我们只想在调试模式

随机推荐

  • C# 6.0 空传播运算符和属性赋值

    为了彻底解释这个问题已经被彻底修改 我注意到 C 6 0 中的 null 传播运算符似乎有一个相当糟糕的限制 因为您无法调用属性setters针对已传播 null 的对象 尽管您可以调用属性getters针对已传播 null 的对象 正如您
  • 我可以收到 LABEL_DETECTION 结果的 boudingPoly 吗?

    请问如何使用 Google Vision API 来完成此操作 将图像发送到vision api 请求 功能 LABEL DETECTION maxResults 10 收到标签 特别是我感兴趣的标签是 时钟 接收boundingPoly
  • 关系 API:where() 无法使用命名空间类确定列

    我正在尝试做这样的事情 u Entity UserQuery create gt where User Username john gt findOne 但我收到这个错误 无法确定要绑定到子句 User Username 中的参数的列 虽然
  • 为什么在 iOS 6 中分配新图像时 UIImageView 会调整大小?

    应用程序包含一个 UITableView 其中包含一个自定义 UITableViewCell 该单元格又 包含一个 UIImageView 问题在于 在 cellForRowAtIndexPath 中设置图像会使图像占据整个 UITable
  • 我怎样才能在NodaTime中知道城市和它的时区之间的关系?

    目前我正在使用 NodaTime 从国家 地区获取时区 但问题是一个国家 地区是否有多个时区 我怎样才能知道该时区的城市列表 我需要知道这两个数据之间的映射 NodaTime 可以吗 正确的处理方法如下 查找每个位置的纬度和经度 如果这些是
  • 使用 MVCContrib 对 MVC 3 控制器和视图进行单元测试时将键和值添加到 RouteData

    好的 我正在使用 MVCContrib TestHelper 对我的控制器进行单元测试 效果很好 不过 像很多人一样 通过单元测试 我真正的意思是这里的集成测试 我想至少确保我的视图在给定提供的模型的情况下呈现没有错误 否则我可能会错过一整
  • SwiftUI NavigationView/Stack(如果可用)iOS 15/16

    关于从NavigationView to NavigationStack适用于 SwiftUI 4 和 iOS 16 我有 2 个应用程序在 App Store 上运行 针对 iOS 15 及更高版本 当然我正在使用NavigationVi
  • 获取 contenteditable DIV 中插入符的 HTML 位置

    我无法弄清楚如何在包含 HTML 标签的 DIV 容器中获取插入符位置 我正在使用这个 JavaScript 函数来做到这一点 function getCaretPosition if window getSelection window
  • 支持 src/ 和 test/ 的简单 ant 构建脚本?

    目前 我使用 IDE 进行所有构建和单元测试 现在我需要使用ant 我发现了一些简单的 ant build xml 脚本 但它们不支持单独的 Junit test 目录 我的项目结构如下 src com foo com bar test M
  • java中同一数组的元素比较

    我正在尝试比较同一数组的元素 这意味着我想将 0 元素与其他所有元素进行比较 将 1 元素与其他所有元素进行比较 依此类推 问题是它没有按预期工作 我所做的是我有两个从 0 到 array length 1 的 for 循环 然后我有一个
  • Netbeans 7.2 显示“无法解析标识符”,尽管构建成功

    我正在使用Netbeans IDE 7 2 with C C 插件 最新版本 1 18 1 1 和 如果我构建我的项目 一切都很好 但 IDE 会显示错误 例如 无法解析标识符 其他人也有这个错误 我该如何解决它 这是我对另一个问题的回答的
  • NEST (elasticsearch) 在多个字段中突出显示

    我已经使用 Nest 成功获得了结果和突出显示 但如果我包含两个字段来搜索突出显示 则它在构建 elasticsearch 查询时仅使用最后一个字段 例如下列 Query qry gt qry QueryString qs gt qs Qu
  • 将 SoapHeader 添加到 org.springframework.ws.WebServiceMessage

    如何将对象添加到肥皂头org springframework ws WebServiceMessage 这是我希望最终得到的结构
  • 有没有可以替代 parse_qs 来处理分号的方法?

    TL DR 哪些库 调用可用于处理包含与 parse qs 不同的分号的查询字符串 gt gt gt urlparse parse qs tagged python ruby gt gt gt tagged python 完整背景 我正在使
  • Grafana 在 url 中传递访问令牌

    我创建了一个 API 密钥来与第三方应用程序共享 grafana 面板 我想将它嵌入到 iframe 中 但它要求我登录 如何在 url 中发送访问令牌 我一直在关注 http self issued info docs draft iet
  • 使用Python OpenCV将QR码旋转到正确的位置

    我是Python的初学者 目前正在研究二维码检测和解码 我很难将检测到的二维码旋转到正确的位置 我已经用过minAreaRect 旋转我的二维码 但它不起作用 有没有解决方法或正确的方法来做到这一点 谢谢 ROI2 cv2 imread R
  • 列出 LDAP 中的根上下文

    我想列出或搜索 LDAP 树中的根上下文 我使用 Apache Directory Server 和 Java Hashtable
  • 使用未分配的局部变量“字典”

    尽管我在以下代码中分配了值 但仍收到错误 使用未分配的局部变量 字典 private static void UpdateJadProperties Uri jadUri Uri jarUri Uri notifierUri Diction
  • 如何在真实设备上调试(使用Eclipse/ADT)

    我正在尝试弄清楚如何直接在我的手机 HTC Desire 上调试应用程序 我已经安装了手机附带的 USB 驱动程序 并且使用 adb devices 时会列出手机 如何配置 eclipse ADT 在手机上启动而不是启动模拟器 虚拟设备 注
  • ASP.NET MVC 和 WCF

    我目前正在努力学习 MVC 但在我的 在某个时刻学习 列表中 我还学习了 WCF 我只是想知道 WCF 是否应该 可以在 MVC 应用程序中使用 背景是我想要一个桌面应用程序 NET 3 5 WPF 与我的 MVC 网站交互 我想知道在两者