我如何在ASP网站的ASCX页面上执行C#代码的url调用?

问题描述 投票:0回答:1

我需要调用一个在客户端注册的自定义协议(类似于:"custom:signDocs?param1=value?param2=value")。

我有一个工作的协议,是通过JavaScript点击按钮来执行的。

但是我需要调用url来执行我在客户机上的程序。

这个程序是用来签署文件并将其发送回服务器,在代码中,我有一个15分钟的计时器,等待文件的状态改变为已签署,然后将文件显示给用户。

我也试过使用webrequest。

    //Method that uses the webrequest
    {
        System.Net.WebRequest.RegisterPrefix("customProtocolName", new PrototipoIDPTRequestCreator());
        System.Net.WebRequest req = System.Net.WebRequest.Create(protocolUrlWithParams);
        var aux = req.GetResponse();
    }

    internal class CustomRequestCreator : System.Net.IWebRequestCreate
    {
        public WebRequest Create(Uri uri)
        {
            return new CustomWebRequest(uri);
        }
    }

    class CustomWebRequest: WebRequest
    {
        public override Uri RequestUri { get; }
        public CustomWebRequest(Uri uri)
        {
            RequestUri = uri;
        }
    }

但这什么也做不了,我不知道它的路径是否正确... ...

有谁知道一个方法来实现这个目标?

c# asp.net .net url custom-protocol
1个回答
0
投票

你可以使用HttpClient从 System.Net.Http 像下面的例子。

简单的从测试api端点获取调用。

 using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri("YOUR_BASE_URL"); //https://localhost:8000
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(
                    new MediaTypeWithQualityHeaderValue("application/json"));

                HttpResponseMessage response = await client.GetAsync("api/test"); //api uri
                response.EnsureSuccessStatusCode();
                string responseBody = await response.Content.ReadAsStringAsync();
            }

注意事项 更多细节请参考: HttpClient文档

© www.soinside.com 2019 - 2024. All rights reserved.