簡體   English   中英

如何在操作結果中調用Web API方法

[英]How to call a web api method in Action Result

我有一個Web Api2方法正在返回HttpResponseMessage

 public HttpResponseMessage Tokenize(Tokenize tokenize)
    {
        string requesterIPAddress = "";
        try
        {
            // Get Requester IP Address
            RequestIPService requestIPService = new RequestIPService();
            requesterIPAddress = requestIPService.GetRequesterIP();

            //generate token and insert into Token.TokenStore table and return result
            TokenizerService tokenizerService = new TokenizerService();
            string token = tokenizerService.Tokenizer(tokenize.APIKey, tokenize.MerchantID, tokenize.StoreValue, tokenize.StoreType);

            return Request.CreateResponse(HttpStatusCode.OK, token);
        }
        catch (Exception ex)
        {
            return Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message);
        }
    }

現在我有一個客戶要求,我必須在操作結果中調用此API方法

    [HttpPost]
    public ActionResult Index(Tokenize tokenize)
    {
        TokenizeController tokenizeApi = new TokenizeController();
        HttpResponseMessage response = tokenizeApi.Tokenize(tokenize);
        return View(response);
    }

但是在APi方法的try塊的最后一行,即

return Request.CreateResponse(HttpStatusCode.OK, token);

它給我一個錯誤值不能為空

雖然API方法可與Ajax調用配合使用

誰能告訴我如何返回HttpResponseMessage

使用new HttpResponseMessage()代替Request.CreateResponse 您將失去的唯一功能是連接。 如果您使用new StringContent(token)作為內容,則響應將以text/plain

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM