0
我有一個接口,它有一個方法的原型:如何調用一個類的異步方法到c#中的另一個類?
public interface IDataReceiver
{
Task<HttpResponseMessage> ReceiveAsync(string id, HttpRequestMessage request);
}
我有一個抽象類繼承接口
public abstract class DataReceiver :IDataReceiver
{
protected DataReceiver()
{
}
public abstract Task<HttpResponseMessage> ReceiveAsync(string id, HttpRequestMessage request);
protected virtual async Task<NameValueCollection> ReadAsFormDataAsync(HttpRequestMessage request)
{
//code to read the html request body
}
}
我有另一個類繼承DataReceiver
public class Reciever1 :DataReceiver
{
internal const string TokenParameter = "token";
public override async Task<HttpResponseMessage> ReceiveAsync(string id, HttpRequestMessage request)
{
if (id == null)
{
throw new ArgumentNullException(id);
}
// Read the request entity body
NameValueCollection data = await ReadAsFormDataAsync(request);
string token = data[TokenParameter];
HttpResponseMessage tstmsg = request.CreateResponse(HttpStatusCode.OK, "Success"+token);
return tstmsg;
}
}
我有控制器類
public class TestController : ApiController
{
[HttpPost]
public Task<HttpResponseMessage> ProcessData(string name)
{
retrun ProcessWebhook(name);
}
private async Task<HttpResponseMessage> ProcessWebhook(string RecieverName)
{
//how to call the ReceiveAsync method of Reciever1 class
return Request.CreateResponse(HttpStatusCode.OK, "Success" +" "+ RecieverName);
}
}
我想打電話給ReceiveAsync在ProcessWebhook的TestController類但是沒能做到that.i嘗試使用classname.methodname的方式,但它沒有顯示的方法Reciever1類的方法方法。
對此有什麼想法嗎?
謝謝!
謝謝....... – TechnoSavvy