Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET核心应用程序中的WCF函数不可用_C#_Wcf_Asp.net Core_Asp.net Core Mvc - Fatal编程技术网

C# ASP.NET核心应用程序中的WCF函数不可用

C# ASP.NET核心应用程序中的WCF函数不可用,c#,wcf,asp.net-core,asp.net-core-mvc,C#,Wcf,Asp.net Core,Asp.net Core Mvc,我只是尝试在ASP.NET核心中使用WCF服务。服务很有效,我得到了我想要的结果 WCF代码: public List<SelectMaschines> Maschinen(SelectMaschines c_Auswahl) { do something that works; return lst_masch; } public interface I_DO_Service { [OperationContract] List<SelectM

我只是尝试在ASP.NET核心中使用WCF服务。服务很有效,我得到了我想要的结果

WCF代码:

public List<SelectMaschines> Maschinen(SelectMaschines c_Auswahl)
{
   do something that works;
   return lst_masch;
}


public interface I_DO_Service
{
    [OperationContract]
    List<SelectMaschines> Maschinen(SelectMaschines var123);

    [OperationContract]
    SelectReasons Prod2(SelectReasons var231);
}
public List Maschinen(选择maschines c_Auswahl)
{
做一些有效的事情;
返回lst_masch;
}
公共接口I_DO_服务
{
[经营合同]
列出Maschinen(选择MASCHINES var123);
[经营合同]
选择原因产品2(选择原因var231);
}
并将实施情况纳入核心项目工作中。但定义的函数不能仅作为异步函数使用。


那么ASP.NET内核调用WCF有什么不同呢?或者我可以只使用异步函数吗?

我认为这里的异步意味着ASP.NET内核将异步调用WCF

因此,可以使用异步函数,如:


var var_list=wait i_DO_Service.MaschinenAsync()

我认为这里的异步意味着asp.net核心将异步调用wcf

因此,可以使用异步函数,如:


var var_list=wait i_DO_Service.MaschinenAsync()

对于Asp.Net核心中的WCF,只会为客户端代码生成
Async
方法,这意味着您可以并且应该使用
Async
函数

这是因为
SynchronizationContext
已从Asp.Net Core中删除,它将无法使用
.Net Core
下的
Sync
WCF方法


因此,对于您的问题,请将
索引
更改为
异步任务
,并通过
异步
方法调用WCF服务。

对于Asp.Net核心中的WCF,只会为客户端代码生成
异步
方法,这意味着您可以并且应该使用
异步
函数

这是因为
SynchronizationContext
已从Asp.Net Core中删除,它将无法使用
.Net Core
下的
Sync
WCF方法


因此,对于您的问题,请将
索引
更改为
异步任务
,并通过
异步
方法调用WCF服务。

将您的操作更改为异步操作。您可以创建WCF代理来调用任何符合标准的SOAP服务。在ASP.NET Core中,默认情况下,生成的代理使用异步方法进行服务操作,正如它们应该使用的那样。请将您的操作更改为异步操作。您可以创建WCF代理来调用任何符合标准的SOAP服务。在ASP.NET核心中,生成的代理默认使用异步方法进行服务操作,这是它们应该使用的。谢谢Obay。你的回答也是解决方案的一部分,但爱德华说得更详细。谢谢奥贝。你的回答也是解决方案的一部分,但爱德华说得更详细。谢谢。现在它起作用了。从这一点上,我可以寻找更详细的异步信息。谢谢。现在它起作用了。从这一点上,我可以寻找更详细的异步信息。