我正试图找出开发一个能够维护某种长期回调策略的服务的最佳模式。例如,假设我有一个服务DoLongThingService。当您在此服务上调用.Begin时,它会安排执行一些长过程。当流程完成时,我需要它来唤醒第一个服务。基本上是长期工作流程类型的东西
实际上,这对演员来说很管用。因为我可以将一个ActorReference传递给DoLongThingService.Begin方法,该服务可以Bind该actor,并在其上调用一个方法以表示完成
但是当我不用演员的时候呢?如何将对一个服务的引用传递
我最近将运行在Windows Server 2012 R2上的内部部署服务结构群集升级为5.1.156.9590。我删除了原来的集群并创建了一个新集群。不幸的是,我的新集群似乎无法为服务清单中指定的任何端口创建防火墙规则。我看到的唯一似乎已连接的警告来自ServiceFabric主机:
未为当前配置文件1启用防火墙策略
我找不到有关此消息的任何帮助。我想知道在为服务指定端口方面是否发生了一些变化,或者在节点盒上是否有一些配置不正确的地方
任何指针都很受欢迎,因为我确信我以前不必手动打开它们。不幸
最近,为了解决循环依赖关系,我们需要将枚举类移动到不同命名空间下的不同项目中。有一些actor和stateful服务将此enum值的实例保持在其可靠状态
枚举类是这样的:
Foo foo = await this.StateManager.GetStateAsync<Foo>("FooKey").ConfigureAwait(false);
namespace com.libA
{
公众谘询委员会
{
无=0,
Foo1=1,
Foo2=2,
}
}
我们希望
我正在尝试使用5.4.145.9494 SDK位创建一个独立的Service Fabric群集,在运行\TestConfiguration.ps1.\ClusterConfig.Unsecure.DevCluster.json时,无论下载的SDK有何更改,我都会遇到以下错误:
测试配置失败,出现异常:System.AggregateException:一个或多个
发生了更多错误。-->System.MissingMethodException:方法不可用
找到:'System.String
Sy
我在将群集部署到Azure时遇到问题。如前所述,我正在使用通过Visual Studio(2017)提供的模板,通过服务器/群集证书对其进行保护
如上所述
我正在通过VisualStudio进行部署,模板似乎成功部署,没有任何错误。但是,在门户中查看集群时,它会陷入“部署”状态,没有节点出现。
RDP:查看单个节点并在事件查看器(Windows日志/系统)中查看Azure Service Fabric节点引导代理服务是否陷入循环,似乎无限期地启动/停止
在Windows日志/应用程序下,我可以看
我正在努力从Visual Studio 2017[在windows 7上]中的.Net 4.6.2 azure service fabric statefulservice程序集调用.netstandard dll。我使用的是最新版本的service fabric[5.4.164.9494和SF SDK版本:2.4.164.9494]
遵循中提到的确切步骤。尝试了多种方法,例如从.Net核心、.netstandard和普通旧PCL(从项目属性转换为.Net标准)创建netstandard类库。什
我们在集群中运行的一个服务结构应用程序没有出现问题,但最近已进入“错误”状态
我的同事在[this SO article][1]中提出了一个类似的问题,该问题应该在ServiceFabric版本5.3.311中得到解决
但是,我们的服务结构版本现在是5.5.216.0
注意:我们的代码是快速删除和重新创建状态,而不是从中添加/删除键
该服务是一个可靠的有状态服务,具有1个分区和3个副本(即一个主分区和两个辅助分区)。该服务实现了一个长时间运行的RunAsync(),并在RunAsync()期间并
这可能是一个非常琐碎的问题,但我只是想问一下(在完成最初的搜索之后)。持久性SF actor在空闲(未使用)60分钟(默认)后收集垃圾。如果我创建的提醒时间超过60分钟,ReceiverEminederAsync还会被调用吗?除非我错了,否则actorservice会根据需要启动一个新的参与者。在这里查看这个带有示例代码的简单答案提醒是一种在指定时间触发参与者持久回调的机制。它们与计时器类似,但与计时器不同,在所有情况下都会触发提醒,直到参与者明确取消注册或删除参与者。参与者在参与者停用和故障切
当我从Azure容器注册表部署到我的Windows Service Fabric群集时,不会从ACR中提取最新映像,而是刚刚启动群集节点上可用的最新映像
我试过了
部署为服务结构应用程序
使用Compose部署
通过VST并从PowerShell命令行手动执行
对于这两个选项,我都明确地引用了:最新的图像 请使用显式图像标记,而不是“最新”。这是一种最佳做法。您是否在节点上设置了与acr的连接?@4c74356b41-没有明确说明;我让SF处理将映像带到节点的问题这也是我的解决方案:我更改了
我有一个使用WCF的演员服务:
[assembly: WcfActorRemotingProvider(RemotingListener = RemotingListener.V2Listener, RemotingClient = RemotingClient.V2Client)]
namespace Player.Interfaces
{
/// <summary>
/// This interface defines the methods exposed by
在我的ServiceManifest中,我有以下配置:
<ServiceTypes>
<!-- This is the name of your ServiceType.
This name must match the string used in RegisterServiceType call in Program.cs. -->
<StatelessServiceType ServiceTypeName="Web1Type
我在开发过程中遇到了一些问题,服务启动期间的异常会导致应用程序陷入错误状态。这会阻止进一步的调试。我似乎也无法通过集群管理门户删除应用程序,它只是超时
我找到的唯一修复方法是重置集群,这需要几分钟时间,并从集群中删除所有其他应用程序
强制删除单个应用程序的正确方法是什么?我创建了下面的powershell脚本,它似乎可以做到这一点:
param([string]$applicationName = "SomeAppName", [string]$version = "1.0.0")
$appl
如果我使用单个节点创建独立的Service Fabric群集,以后是否可以向其中添加节点?根据本文档,单节点群集不支持向外扩展,但我不确定它是否仅适用于Azure中的SF群集或独立群集。答案是肯定的
有关如何将新节点添加到现有独立群集的详细说明,请参阅
我还要强调上述文档中第7点的重要性——为了确保集群中不同节点之间的一致性,您必须启动配置升级。这对于确保您以后的初始配置可用于以下操作非常重要
我正在尝试在服务结构有状态服务中实现取消任务功能
计划正在使用取消令牌将通知传播到链接的线程/任务
问题是,虽然有这些长时间运行的任务和线程在等待这个信号,但我不确定如何根据另一个Web API调用找到正确的取消令牌
我曾考虑使用可靠的字典,甚至在试用之前,我假设这会遇到死角,因为cancellationToken无法序列化/反序列化
请帮我解决这个问题的好办法
更新(我不想创建一个新线程,因为它会丢失该线程中提到的一些重要上下文,所以在本文中进行更新。)
确认下面的链接描述确实显示了可靠的服务
我有一个Azure服务结构设置,我希望后端服务能够调用外部API
为此,我创建了一个网络安全组实例,并将子网设置为服务结构设置的后端子网。然后,我将外部IP添加为可接受的出站规则。不幸的是,出站请求似乎仍然被阻止
作为进一步的测试,我还添加了3389作为一个可接受的入站规则,以允许RDP到第一个后端服务器。虽然我可以通过RDP访问scaleset中的第一台服务器,但我仍然可以访问RDP端口3390和3391中的其他后端服务
应用NSG还需要做些什么吗?默认情况下,NSG不会阻止出站请求,因此您首
我有一个TeamCity CI服务器,它将service fabric应用程序压缩到八达通。这很顺利。
我从八达通到azure服务结构群集的连接正常。
我在我的项目中发布了一个解压缩包
我部署包。收购计划进展顺利
部署步骤出错
日志中显示了以下内容:部署包:E:\Octopus\Packages\Spaces-1\feeds builtin\xxSF\xxSF.1.0.0.225.zip
我曾尝试更改八达通部署中的路径,但我找不到可以更改此路径的位置。我已经阅读了八达通部署的文档,但没有帮助
获
标签: Azure Service Fabric
azure-application-insightsservice-fabric-statefulservice-fabric-actorappinsights
我们有5个可靠的actor服务,它们是从无状态的aspnet核心webapi调用的。
现在,service fabric应用程序正在生产中运行,但作为迁移到azure的一部分,我们需要所有自定义事件和跟踪到app insight
我们如何向SF添加相同的内容?请注意,我特别寻找可靠的演员服务。在可靠的服务中添加这一点很简单,但我在Actor服务中面临着挑战
关于可靠服务,我参考了本教程,但对于在.NET Framework中编写的可靠参与者服务,同样不起作用。引用本公开GitHub问题中的示例:
所以,我有一个我正在研究的想法,即一些节点上的服务需要在运行时根据它们可能发布的元数据动态地发现其他服务。我正试图找出解决这个问题的最佳方法
其中一些元数据将在运行时从本地计算机中发现,但随后必须将其发布到结构中,以便其他服务可以对其做出决策
我在ServiceManifests中看到了扩展内容。这是一个良好的开端。但您似乎无法在运行时更改或添加扩展。那太好了
想象一下我的用例。我在一个结构上有很多机器,其中部署了很多服务。我宣传的是特定机器可能支持的音频编解码器。某些节点具有DirectSho
正在使用示例服务结构应用程序。我创建并测试了服务。现在我想添加一个API网关,作为我的应用程序的入口点…所以在VS中,我右键单击服务并选择Web模板ASP.NET 5。它确实创建了一个常规的ASP.NET 5…不由服务结构管理…例如,没有包根或Program.cs
请问我做错了什么?当然,一个普通的ASP.NET5可以工作……但是我希望整个应用程序(包括网关)都由服务结构管理
关于当您右键单击以添加服务时,选择要添加到另一个项目中的解决方案根目录(与您通常所做的一样)是一个常见错误。但是,为了添
我有许多参与者代表一个物理对象(物联网设备)
在检查代码库时,我们有时会将现有的ActorReference传递给其他参与者,有时会创建一个新的代理对象
我本以为传递一个现有的参与者引用更有效,但我担心会有副作用,因此创建一个新的代理对象的风险似乎更低
在使用ACTRORACKION.BIN和ACTROPROSPORATION研究反编译的源代码时,我应该考虑什么样的方法和什么样的方法?< /P> < P>。
public object Bind(Type actorInterfaceType)
我正在尝试从Azure VM发布我的Service Fabric应用程序,如下所示:
Azure VM是在与我的服务结构群集相同的数据中心中创建的。但由于某些原因,我的上传速度只有200 Kbps左右
由于VisualStudio中的发布脚本中存在硬编码的10分钟超时,这还不足以发布我的应用程序
有没有关于如何提高上传速度的建议?由于Service Fabric SDK的2.5.216版,您必须能够在发送包之前压缩包
在PublishProfiles\Cloud.xml文件中添加以下行以启用压缩
我在一个应用程序中有一组无状态和有状态的服务。显然,我希望它们能够完美运行,但我的应用程序知道它无法从故障中恢复。例如,如果它无法从KeyVault(及其故障切换副本)加载其配置设置,则没有必要再进一步
所以问题是,如何告诉ServiceFabric放弃整个应用程序?我已经尝试了Partition.ReportFault(FaultType.Permenant),但幸运的是,它尝试启动一个新分区。:-)
显然,我们正在向Ops和DevOps发送警报信息(包括自动电子邮件),以便它们能够恢复,但如
我想知道是否可以设置一个不安全的服务结构群集,该群集只能通过VPN网关访问,而不能访问公共internet
我们目前有一个不安全的本地集群,我们希望将其移动到云中
使用具有无法更改的公用IP地址的负载平衡器创建群集的新资源集。有没有一种方法可以使用非公共ip的负载平衡器创建集群?我相信您可以通过使用来实现这一点。使用“虚拟网络”标签。要找到灵感并加以利用
此默认标记表示所有网络地址空间。信息技术
包括中定义的虚拟网络地址空间CIDR范围
Azure以及所有连接的本地地址空间和
已连接Azure
在服务结构集群中,是否可以从一个应用程序向另一个应用程序调用服务或参与者?当我尝试(使用具有适当Uri的ActorProxy.Create)时,我得到一个“找不到接口的MethodDispatcher”是的,这是可能的。只要您对服务(或ActorService)具有正确的Uri,并且您可以通过定义服务或参与者的接口访问程序集,那么它应该与从同一应用程序中调用服务/参与者没有太大区别。如果有,那么您还必须为exchange设置证书
如果我有一个简单的服务定义为:
公共接口iCalOutServi
我使用Visual Studio 2017 Pro 15.3.5中的“无状态ASP.NET核心”模板创建了一个“Service Fabric应用程序”。我使用的是Service Fabric SDK 2.7.198
每次我点击F5将示例应用程序部署到本地SF群集时,“诊断事件”窗口都会通知我在解决方案中找不到ETW提供程序。这可能是因为它是一个使用新的.csproj格式的.NET核心项目吗
因为当我使用“无状态服务”模板创建“服务结构应用程序”时,ETW提供程序列表会自动更新,以包括示例无状态1
我可以看到,有一些配置选项允许我配置Service Fabric用于确定集群是否正常运行的策略(基于错误运行状况报告的阈值),但是否可以让Service Fabric在检测到错误运行状况报告时采取一些积极措施,例如重新启动应用程序?目前不启动。您将需要编写一个基于运行状况采取操作的服务。
我们正在编写一个系统服务,它能够分析集群(包括健康状况),并针对发现的问题采取缓解措施。但是,我们目前还没有估计的日期
我们正在提高我们最近开发的软件(在服务结构上运行)的安全性,并希望所有trafic都通过API管理。在SFcluster的负载平衡器中,您可以在端口级别上限制访问,但在IP地址级别上我应该在哪里限制对集群的访问?我们希望只允许从API管理输入流量,并阻止所有其他内容,因此将所有IP地址列入黑名单,但API管理器IP除外
谢谢 您可以使用一个
网络安全组(NSG)包含以下安全规则的列表:
允许或拒绝连接到Azure虚拟机的资源的网络流量
网络(VNet)。NSG可以与子网、单个虚拟机相关联
(经典
我试图在azure上创建一个服务结构集群,但当我执行
下一个脚本:
#Provide the subscription Id
$subscriptionId = 'yourSubscriptionId'
# Certificate variables.
$certpwd="Password#1234" | ConvertTo-SecureString -AsPlainText -Force
$certfolder="c:\mycertificates\"
在对Azure Service Fabric进行了一点研究并查看了构建中的流之后,我有点好奇,是否有任何关于为更复杂的服务编排环境的工具
假设我构建了一个服务“Service1”,它调用“Service2”和“Service3”中的参与者和服务;任何签出“Service1”存储库以执行更改的开发人员不仅必须签出“Service2”和“Service3”,还必须在能够在“Service1”中正确测试其更改之前构建它们并将它们部署到服务结构。将此与例如(我知道Azure Service Fabric
我的问题是:我正在学习ServiceFabric,做一些简单的教程,本地集群正在填满我的C驱动器。我在VisualStudio中运行这些项目。它首先在文件夹SfDevCluster中创建一个集群。这将占用842MB的空间。然后部署服务和web api站点。请记住,这些都是琐碎的教程,几乎没有任何内容。现在,我注意到我有一个大小为1.22 TB的文件夹,磁盘大小为9.4 GB。我不知道该怎么解释。但它会占用我的C驱动器上的剩余空间并触发警报。
我有很多空间的其他驱动器。我想具体说明使用这些工具。有
当我尝试使用CreateServiceFabricCluster.ps1脚本创建集群时,我收到以下错误:“JSON配置无效。请检查语法/模型:System.IO.FileNotFoundException:无法加载文件或程序集'Newtonsoft.JSON,Version=6.0.0.0…”。我试过这三种不同的系统(2012 R2和两台2016服务器),结果都是一样的。我使用的是运行时版本5.3.3.11和SDK版本2.3.311 我发现了问题。不能在构建集群的同一台计算机上安装Service
是否有人能够成功地将任何种类的Windows容器部署到服务结构(即使是普通的microsoft/iis或其他什么)?如果您愿意,您是否介意共享您的配置文件。是的,请阅读这些博客文章,并获取有关如何开始的更多信息。这是一个带一些故障排除提示的演练
(注意:因为它现在处于预览状态,所以情况可能会发生变化。)是的,请阅读这些博客文章,了解更多关于如何开始的信息。这是一个带一些故障排除提示的演练
(注意:由于它现在处于预览状态,情况可能会发生变化。)当我使用开发群集设置或多节点通过windows ser
我正在尝试更新可靠字典中存储的数据项,如下所示:
private async Task UpdateDictionary(IEnumerable<long> keys)
{
var dataDictionary = await this.stateManager.GetOrAddAsync<IReliableDictionary2<long, DataItem>>("DataItemsDictionary");
using (var tx =
我们有一个5节点的Azure服务结构集群作为我们的主要生产微服务中心。到目前为止,出于测试目的,我们刚刚推出了我们的应用程序的不同版本(名称后面附加了“.Test”的生产应用程序)到生产SFC
我们正在寻找一种更好的方法,即单独的测试服务结构集群。但问题归根结底是成本问题。您可以在Azure中创建的最小SFC是3个节点。此外,你不能在证监会未被使用时关闭它,我们也需要这样做以节省成本
因此,现在我正在考虑在Azure中启动一个普通的Windows虚拟机并安装本地服务结构群集应用程序(只允许一个节
我有一个通过HTTPS对外公开的服务,我还希望通过服务远程处理在集群内部使用该服务。我知道我可以在CreateServiceListeners方法中设置侦听器,但问题是我需要从同一个无状态服务类实现接口,该类与控制器中实现的方法不同。这可能吗?如果可能,我可以看一个例子吗?我建议:
将实现逻辑移动到单独的类
用于将该类传递给服务和控制器
谢谢,这是一个很好的建议。我想知道这是否是一种方法,但不确定是否还有其他方法。
他说:
参与者为开发人员提供了定义富对象的灵活性
作为参与者的一部分的结构或外部的引用对象图
演员们。在缓存方面,参与者可以写在后面或写在后面,
或者我们可以在一个成员变量粒度上使用不同的技术
对于statefactor或statefactor,如何实现写后以提高状态更改方法的吞吐量?一个可能的实现是将您的变异方法标记为[Readonly],这样服务结构运行时就不会将状态持久化到集群副本。因此,您可以使用所描述的更改修改内存中的成员变量,并且成功或失败将快速返回到调用代码。在修改成员变量的同时,
如何远程处理SF集群中的节点?因为这些只是虚拟机,所以我觉得我应该能够RDP到它们中,即使这是我通常希望避免的事情
我将如何进行远程处理?与您将RDP导入任何其他机器的方式相同。SF集群中的节点没有什么特别之处
除非你让它们变得特别!我们在Azure中做过,您的集群托管在VM规模集上。在虚拟机上解释了这是如何工作的,以及如何将RDP添加到其中。在Vaclav的回答中添加了一些特定于服务结构的详细信息:
标准服务结构模板定义了一个NAT,该NAT将端口3389到4500映射到每个VM的RDP端口。
我使用的是Microsoft.ServiceFabric版本5.1.163。我有一个非常简单的服务。构造函数失败,出现MissingMethodException:“找不到方法:'System.Threading.Tasks.Task Microsoft.ServiceFabric.Data.IReliableStateManager.ClearAsync()。”
代码如下:
internal sealed class ShoppingCartService : StatefulServ
默认情况下,当您使用azure portal手动创建service fabric群集时,您必须选择一个节点类型名称,该名称将绑定到VM大小等。但是GUI上未显示的是与此节点类型关联的应用程序端口范围。默认应用程序端口范围似乎在20000到30000之间
使用visual studio创建service fabric群集应用程序时,默认端口号始终小于20000。默认端口号更像是8888之类的
当您将此服务部署到上述集群时,一切都按预期工作。让我们忽略本讨论中的LB端口映射
这就引出了以下问题:
我
我在一个三节点独立集群上运行ServiceFabric。每个集群都位于企业云环境中的单独虚拟机上。最近,我的两台虚拟机(其中一台被删除的机器就是创建集群的机器)上的节点被删除。删除此项后,我尝试在剩余的计算机上访问Service Fabric Explorer,但只得到一个“找不到页面”错误。此外,Connect-servicefactriccluster(用于尝试连接到其余节点)和Get-servicefactricapplicationPowershell命令无法说明:
“通信错误导致操作失
我是服务结构方面的新手,不知道如何更新应用程序中的单个微服务。
我有许多存储库(每个微服务一个),需要分别更新/部署每个微服务
我怎样才能做到?我应该在哪里保存应用程序项目?你能建议一下解决方案的结构吗
另外,我使用独立(本地)服务结构安装。简而言之,您无法更新单个微服务,SF具有不同的体系结构。它由应用程序组成,应用程序本身由服务组成。您可以通过在应用程序清单和服务中提高版本号来更新整个应用程序。应用程序版本总是上升,而服务版本可以更改也可以不更改(这会影响升级过程)
在您的情况下,您有两种选
我正在尝试使用ARM模板创建一个新的service fabric群集,并修改模板以添加证书等。群集和所有资源都已成功创建,但我注意到最初节点实例的数量是我设置的2倍,加上1。例如,如果我将“vmInstanceCount”设置为3,我会看到当前正在创建7个实例
但如果我只是等待,让它们完成,那么4个实例被删除,它将保留这3个实例。这里的一个问题是,它随机选择要保留的内容,因此,要保留的名称可以是节点1、节点4、节点6,这很混乱
下面是我的节点类型片段:
"nodeTypes": [
{
我已经成功地将集群部署到azure,在所有节点上启用了反向代理,并且https工作正常。这是一个多租户集群,每个租户都有自己的应用程序,一些有状态服务将能够管理一些Web套接字
我设法得到了一个kestrel在websockets本地工作的实例,但在Azure中我只得到了404。我认为我的端口配置是错误的。我已经阅读了所有的反向代理文档,但仍然无法理解其中的一些内容
Q1有状态服务上希望从反向代理接收消息的所有侦听器都必须在19081上侦听吗?我本以为是这样的,但该程序随机地将一个不同的端口(1
我不确定这是否是Serilog、ELK、服务结构、代码或配置问题
我正在编写一个服务结构无状态服务。我的日志配置行如下所示:
Logger = new LoggerConfiguration()
.WriteTo.EventFlow(loggingOptions.DiagnosticPipeline)
.Destructure.With<JsonNetDestructuringPolicy>()
我有两个无状态服务。
我正在尝试运行一个集成测试,当我将它部署到集群时,使用真正的实现。我可以看到服务2完成了它的工作,而服务1正确地发送了事件
我想要实现的场景是,服务1发布服务2接收的事件,然后运行一个方法,比如写入文件
当我在单元测试级别创建服务时,我可以发布事件,但永远不会到达服务2
如何模拟服务之间的通信
服务1可以是假对象,只要它向服务2触发正确的事件。
目前,我正在创建一个方法并直接调用服务2中的操作,这将验证操作服务2是否正常工作,但不会检查服务1是否真的在与服务2对话。您可以使
以前的非GA版本的Service Fabric附带了对ASP.NET核心RC1的支持(和模板)。GA移除了这个支架
我有一个项目,它依赖于ASP.NET核心RC1。我还想现在更新到新的SDK
我可以使用最新的SDK运行asp.net服务,而无需对代码进行任何重大更改。但是,在asp.net项目中创建ActorProxy或ServiceProxy失败,出现异常“未找到配置包”。因此,我的asp.net服务无法与应用程序中的其他服务通信
如何解决ASP.NET Core RC1服务上的ActorPr
对于azure actor服务,actor方法在诊断窗口中启动停止日志,如下所示
如何在每次调用方法时添加一些额外的细节,例如相关Id
{
"Timestamp": "2016-09-14T19:46:40.9955448+05:30",
"ProviderName": "Microsoft-ServiceFabric-Actors",
"Id": 7,
"Message": "Actor method is being invoked. Method name: IStore.
我无法将一个简单的容器部署到安装在Windows 2016数据中心(带容器)上的开发群集上的单个节点。包已部署,但分区状态始终为“内部构建”。我已经在下面列出了应用程序和服务清单
我可以使用以下命令远程访问机器并手动运行容器:
docker run --name nanoiis -d -it -p 80:80 nanoserver/iis.
当容器运行时,我可以从远程计算机访问其中运行的IIS实例。由于记录在案的NAT问题,我无法从主机使用localhost访问容器
现在我需要让容器在服务结构
升级到最新的工具、运行时和SDK(5.5.216.0)后,PowerShell脚本(如TestConfiguration.ps1)失败,并出现一个错误,无法找到Microsoft.ServiceFabric.Internal.Strings.dll版本5.0.0.0。只要我从控制面板卸载“Microsoft Service Fabric”,它就可以正常工作。此行为似乎与5.5.216.0中解决的Newtonsoft.Json.dll问题非常相似,只是这次使用了不同的程序集
这是一个已知的问题吗
根据文档示例,代理的创建方式如下:
IMyService helloWorldClient = ServiceProxy.Create<IMyService>(new
Uri("fabric:/MyApplication/MyHelloWorldService"));
string message = await helloWorldClient.HelloWorldAsync();
IMyService helloWorldClient=ServiceProxy.Create
1 2 3 4 5 6 ...
下一页 最后一页 共 14 页