我似乎无法在网上找到任何教程或信息的组合来让我朝着正确的方向前进,所以我希望社区可以帮助我!
我过去对 WCF 有一些经验(主要是简单/默认的 http 实现),但没有达到我在当前架构中尝试的水平。不幸的是,我为 WCF 找到的 99% 的信息都是几年前的,其中大部分都没有涉及 Azure 的具体细节。大多数书籍是在 2007 年出版的,并且没有涉及自那时以来较新的 IDE/工具或 WCF 更新。不用说,我有几个悬而未决的问题,并且很想在用尽 Google、Stack Overflow、MSDN 和 YouTube 之后指出正确的方向!
简而言之:
我想将所有业务逻辑集中在 Azure 上的单个 WCF 服务后面(它将在云服务上进行负载平衡)。
我有许多将使用此服务的 Web 客户端。
所有客户端都是我控制的 C#/.NET MVC 项目(我不需要或不希望 WCF 端点公开可用)
我宁愿将对端点的访问列入白名单,而不是实施身份验证(为了性能和简单性)
听听我的问题和潜在的减速带:
WCF 是正确的解决方案吗?我应该使用更新更好的技术吗?
如果我将云服务用于我的 WCF 解决方案,WebRole 或 WorkerRole 是我的最佳选择吗?为什么?是否可以选择将服务托管为网站?(这样可以节省成本)
在我的研究中,我发现使用 NetTCP 绑定比使用默认的 Http 绑定更快。但我找不到一个简单的例子来说明如何使用 VS 2013/.Net 4.5/Azure Cloud Service 进行设置。有没有一个很好的教程?另外,我假设 NamedPipes 不适合我?
既然 WCF 服务的所有消费者都将在 Azure 网站上运行,那么 NetTCP 是否仍然可行?如何创建服务引用?我假设我只使用 NetTCP 端点地址,但 Azure 基础设施内的安全白名单呢?
我的 Azure 网站客户端如何以最快的速度连接到 Azure 中的 TCP?关联组似乎不是网站的选项,我是否应该放弃这一点并将我的所有客户端部署为 WebRoles,以便他们可以与我的 WCF 服务共享关联?Azure 是否足够聪明,可以知道网站正在调用同一区域内的机器并保持该区域内的连接?这是如何保证的?
我将为我的 WCF 服务提供一个调试、阶段和生产环境。在我的 azurewebsite 客户端上的各个端点之间切换的最佳方式是什么?我宁愿在启动期间使用 C# 在我的 global.asax 文件中执行此操作,而不是在我的 web.config 中执行此操作。我只打算在我的 Web.Config 中为“环境”保留一个设置。理想情况下,我的启动文件中有一个 Switch() 语句,它将确定 WCF 环境端点用于我的服务引用。
对于一系列问题,我深表歉意。我正在考虑将其分解为多个帖子,但将它们保持在相同的上下文中似乎是确保我传达我的调查范围的唯一方法。
谢谢你。