在asp.net webapi中使用Web服务

时间:2016-11-19 19:11:02

标签: c# asp.net web-services asp.net-web-api controllers

我需要从我的asp.net web api调用第三方Web服务。 web服务需要身份验证并在成功时发送加密密码,需要将其附加到对web服务的任何进一步请求。这里应该是我在控制器中创建webservice的新实例,还是有一个静态的webservice实例被引用控制器。

我使用OWIN自托管作为控制台应用程序托管我的webapi。所以在我的Program.cs中我有

    public static WebServiceRequests mWebServiceRequest;
    static void Main(string[] args)
    {
        string baseAddress = "http://localhost:9000/";
        mWebServiceRequest = new WebServiceRequests();
        // Start OWIN host 
        using (WebApp.Start<Startup>(url: baseAddress))
        {
            // Create HttpCient and make a request to api/values 
         //   HttpClient client = new HttpClient();

          //  var response = client.GetAsync(baseAddress + "api/values").Result;

           // Console.WriteLine(response);
          //  Console.WriteLine(response.Content.ReadAsStringAsync().Result);


            Console.ReadLine();
        }
    }

我的控制器就像

public class MFOrdersController : ApiController
{

    public IEnumerable<string> Get()
    {
        Program.mWebServiceRequest.GetData();
        return new string[] { "value3", "value4" };
    }
}

这是正确的方式还是应该

public class MFOrdersController : ApiController
{
    WebServiceRequests mWebServiceRequest = new WebServiceRequests();
    public IEnumerable<string> Get()
    {
        mWebServiceRequest.GetData();
        return new string[] { "value3", "value4" };
    }
}

webservicerequest类如下

class WebServiceRequests
{
    private xstarmf.MFOrderEntryClient mXStarMFService;


    private string strEncryptedPassword;
    private string strPassKey;
    public WebServiceRequests()
    {
        mXStarMFService = new xstarmf.MFOrderEntryClient();

       x
        GeneratePassKey();
        GetPassword("TEst", "test123", strPassKey);

    }

我需要传递strEncryptedPassword,这是我在每个请求(GetData())中从GetPassword函数获得的,xstarmf是一个svcclient

由于

0 个答案:

没有答案