WCF 服务或 Web API [关闭]

2024-01-30

我将从事一个涉及许多要素的项目:

  • ASP.NET MVC 网站
  • C# 控制台应用程序
  • iPhone应用程序

为了让所有这些单独的应用程序与数据库进行通信,我立即想到的是使用 WCF 服务。

但是,我现在需要向站点添加一个 API,以允许第三方从他们自己的应用程序中选择、插入和更新记录。

在我看来,我只会在 WCF 服务上创建一个单独的 RESTful 服务端点,该端点将使用身份验证锁定,并且只允许访问某些方法。

然而,我今天一直在阅读有关 MVC 4 中的 Web API 功能的内容,这是否意味着 RESTful API 的最新功能?

我应该继续使用 Web API 吗?或者因为我的其他应用程序需要 Web 服务,我应该坚持使用 WCF 服务吗?


如果你打算进行 RESTful 开发,那么你肯定会想要使用 ASP.Net Web Api(最初称为 WCF Web Api,创建的目的是“让 REST 成为 .NET 中的一等公民”.

另一件需要考虑的事情是 WCF REST 入门套件是不再支持 http://aspnet.codeplex.com/wikipage?title=WCF%20REST.

请注意,使用 Web Api 并不意味着您必须使用 ASP.Net MVC 或 IIS,即使它们可以自托管 http://code.msdn.microsoft.com/ASPNET-Web-API-Self-Host-30abca12.

对于处理本质上非 CRUD 的操作,我建议使用 Google 搜索“REST non-CRUD”。我找到了这篇博文用于非 CRUD 操作的 RESTful URL http://abstractfinal.blogspot.com/2007/04/restful-urls-for-non-crud-operations.html(尤其是有趣的评论)。如果您决定需要进行 RPC 调用,那么这些可能必须使用 WCF 来完成。也就是说,由于 WCF REST 即将被终止,我不确定最好的解决方案是什么。两者兼而有之可能是最好的答案,但同时也不一定是一个好的答案。

另一种选择是 WCF OData 服务,但我不确定 iPhone 是否支持它。

最后一点要说明(将来可以删除,因为这是时间敏感的)

Microsoft 已随 Beta 版提供了 Go Live 许可证,这意味着它受到 Microsoft 的支持,升级到文件 RTM 应该不会有任何问题。

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

WCF 服务或 Web API [关闭] 的相关文章

  • 秒表有最长运行时间吗?

    多久可以Stopwatch在 NET 中运行 如果达到该限制 它会回绕到负数还是从 0 重新开始 Stopwatch Elapsed返回一个TimeSpan From MSDN https learn microsoft com en us
  • 嵌套接口:将 IDictionary> 转换为 IDictionary>?

    我认为投射一个相当简单IDictionary
  • 类模板参数推导 - clang 和 gcc 不同

    下面的代码使用 gcc 编译 但不使用 clang 编译 https godbolt org z ttqGuL template
  • 表单身份验证 MVC4

    我正在尝试使用 MVC4 网站进行简单的表单身份验证设置 在App start FilterConfig cs中 public static void RegisterGlobalFilters GlobalFilterCollection
  • 用于登录 .NET 的堆栈跟踪

    我编写了一个 logger exceptionfactory 模块 它使用 System Diagnostics StackTrace 从调用方法及其声明类型中获取属性 但我注意到 如果我在 Visual Studio 之外以发布模式运行代
  • 在 Windows 窗体中保存带有 Alpha 通道的单色位图会保存不同(错误)的颜色

    在 C NET 2 0 Windows 窗体 Visual Studio Express 2010 中 我保存由相同颜色组成的图像 Bitmap bitmap new Bitmap width height PixelFormat Form
  • Clang 3.1 + libc++ 编译错误

    我已经构建并安装了 在前缀下 alt LLVM Clang trunk 2012 年 4 月 23 日 在 Ubuntu 12 04 上成功使用 GCC 4 6 然后使用此 Clang 构建的 libc 当我想使用它时我必须同时提供 lc
  • 关于 C++ 转换:参数 1 从“[some_class]”到“[some_class]&”没有已知的转换

    我正在研究 C 并且遇到了一个错误 我不知道确切的原因 我已经找到了解决方案 但仍然想知道原因 class Base public void something Base b int main Base b b something Base
  • C#中如何移动PictureBox?

    我已经使用此代码来移动图片框pictureBox MouseMove event pictureBox Location new System Drawing Point e Location 但是当我尝试执行时 图片框闪烁并且无法识别确切
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • 重载<<的返回值

    include
  • 服务器不支持 C# 中的安全连接

    我在下面的代码中收到错误 服务器不支持安全连接 SmtpClient smtp new SmtpClient MailMessage mail new MailMessage mail From new MailAddress gmail
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • 这些作业之间是否存在顺序点?

    以下代码中的两个赋值之间是否存在序列点 f f x 1 1 x 2 不 没有 在这种情况下 标准确实是含糊不清的 如果你想确认这一点 gcc 有这个非常酷的选项 Wsequence point在这种情况下 它会警告您该操作可能未定义
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • 良好的 WiX 编辑器 [重复]

    这个问题在这里已经有答案了 我目前正在开发一个使用 WiX 创建 MSI 的项目 我过去在 Sourceforge 上使用 WiXEdit 来管理包含在 WiX 项目中的文件 因为它比直接操作 XML 稍微容易一些 但它仍然有点笨重 有谁知
  • 如何将服务器服务连接到 Dynamics Online

    我正在修改内部管理应用程序以连接到我们的在线托管 Dynamics 2016 实例 根据一些在线教程 我一直在使用OrganizationServiceProxy out of Microsoft Xrm Sdk Client来自 SDK
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现
  • 如何在文本框中插入图像

    有没有办法在文本框中插入图像 我正在开发一个聊天应用程序 我想用图标图像更改值 等 但我找不到如何在文本框中插入图像 Thanks 如果您使用 RichTextBox 进行聊天 请查看Paste http msdn microsoft co
  • 使用.NET技术录制屏幕视频[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有一种方法可以使用 NET 技术来录制屏幕 无论是桌面还是窗口 我的目标是免费的 我喜欢小型 低

随机推荐

  • ListView:通过 Filterable 进行过滤与使用新 URI 重新启动 CursorLoader

    The ListView实现过滤内容的方法 您能详细说明一下什么时候应该使用它吗 据我了解 这种过滤适用于基于数组的适配器 所有数据都已经在内存中 这样 过滤器只是帮助跳过不应该显示的数据 然而 如果ListView与游标适配器 SQLit
  • 清单合并失败:uses-sdk:minSdkVersion 8 不能更小

    问题是 Error Execution failed for task app processDebugManifest 清单合并失败 uses sdk minSdkVersion 8 不能小于库 com android support s
  • 运行 showdown.js 服务器端将 Markdown 转换为 HTML(在 PHP 中)

    我正在尝试在我的网站上实现 WMD 并且想知道如何运行 showdown js 服务器端以将 markdown 转换为 HTML 为了将两者存储在数据库中 我正在使用 PHP 任何提示都会有帮助 之前从未从 php 运行过任何类型的 js
  • 升级到 AngularDart 0.13.0 并收到有关路由和 di 的错误

    我升级到 AngularDart 0 13 0 但收到以下错误 使用新的路由模块初始化 RoutingModule 的正确方法是什么di包2 0 1 In main dart I have class RoutingModule exten
  • 运行时异常 (Chromecast)

    我尝试配置 Chromecast 但收到 RuntimeException 并且不明白原因 Fabric 有日志 致命异常 java lang RuntimeException 无法启动活动 ComponentInfo activity T
  • 在 Google App Engine 上使用 Python 验证 Android 应用内购买消息的签名

    Android 开发人员网站上的示例应用程序使用 java 代码验证购买 json 有没有人有幸弄清楚如何用 python 验证购买 特别是在 GAE 中 以下是android应用内计费的相关摘录示例程序 http developer an
  • 模式浏览器不显示我在 Solr 中添加到 schema.xml 中的字段

    我在 solr v5 1 中创建的名为 Core3 的核心的 schema xml 中添加了一些字段 我不是指示例文件夹 而是使用 服务器 文件夹来运行 solr 服务器并创建 solr 核心 我使用 bin 文件夹中提供的 solr cr
  • MVVM Light WPF 打开新窗口

    我是 MVVM 新手 正在使用 MVVM Light 学习它 我在 wpf 中有一个带有登录窗口的应用程序 当用户输入正确的凭据时 登录窗口应关闭并应打开一个新的主窗口 登录部分已经可以工作 但是如何打开一个新窗口并关闭当前窗口 login
  • F# 中的命令式多态性

    OCaml 的 Hindley Milner 类型系统不允许命令式多态性 类似于 System F 除非通过最近对记录类型的扩展 这同样适用于 F 然而 有时需要将用命令式多态性 例如 Coq 编写的程序翻译成此类语言 Coq 的 OCam
  • Rails 5 多个清单文件的问题

    我的问题 在我的 Rails 5 应用程序中 我有 2 个布局 因此我需要设置多个清单文件 我做了什么 我做了以下事情 The two layouts have a user html erb and a main html erbhtml
  • Bootstrap 模态表单发布两次 Django

    我正在按照以下指示进行操作django bootstrap modal forms django bootstrap modal forms https pypi org project django bootstrap modal for
  • 使地图图钉从簇中分散开来

    我的地图有两个自定义注释类 一个用于与某个位置相关的单个帖子 另一个用于这些帖子的集群 该集群存储指向它包含的所有帖子的指针 以及中心纬度 经度位置 使用它包含的帖子的位置计算 我的行为是 当我单击集群注释时 它会删除该集群并将其帖子添加到
  • 如何使结构可调用?

    feature unboxed closures feature fn traits struct foo impl std ops Add for foo type Output foo fn add self x foo gt foo
  • 浏览器支持 stopImmediatePropagation?

    IE 支持stopPropagation 缺乏 并且需要解决方法 https stackoverflow com a 387750 165673 但我无法判断是否同样的情况也适用stopImmediatePropagation 它对所有浏览
  • Azure 函数 V2 中的延迟消息:提供的锁无效

    在我的天蓝色功能中 有时我想推迟我的消息 但如果我这样做 我会得到一个例外 7 30 2020 5 59 02 PM Message processing error Action Complete ClientId MessageRece
  • 记录器在某些文件中不起作用

    我有这个 pydev 项目 我做这个项目是为了学习如何正确使用记录器 project src core init py classHanger py scripts entrypoint py util py cli cliloggerte
  • H2-Console 未在浏览器中显示

    我正在研究 SpringBoot api 并使用具有以下属性设置的 H2 数据库 spring h2 console enabled true spring datasource name test spring datasource us
  • 如果构造函数抛出异常会发生什么?

    那我们会得到UB吗 我试过这个 include
  • iPython Notebook 中的默认笔记本目录 - iPython 3.0.0

    我升级到 iPython 3 0 0 Python 3 4 使用 Anaconda 环境 Mac OSX 10 9 5 打开新 iPython Notebook 会话的行为似乎发生了变化 我已经设置了c NotebookManager no
  • WCF 服务或 Web API [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我将从事一个涉及许多要素的项目 ASP NET MVC 网站 C 控制台应用程序 iPhone应用程序 为了让所有这些单独的应用程序与数据库进行