Ios UIWebView使用NSUrlProtocol Xamarin.Forms缓慢加载

Ios UIWebView使用NSUrlProtocol Xamarin.Forms缓慢加载,ios,xamarin,uiwebview,xamarin.forms,nsurlprotocol,Ios,Xamarin,Uiwebview,Xamarin.forms,Nsurlprotocol,我正在使用Xamarin.Forms开发一个iOS应用程序 此应用程序正在使用UIWebView控制器,该控制器显示托管在我的服务器上的web应用程序。每次我发出请求时,我都必须发送一个自定义标头,以确定此请求来自移动应用程序而不是浏览器。为此,我使用了一个NSUrlProtocol对象,该对象覆盖在每个请求上插入自定义标头的方法请求。这是我的代码: public override NSUrlRequest Request { get { NSMu

我正在使用Xamarin.Forms开发一个iOS应用程序

此应用程序正在使用UIWebView控制器,该控制器显示托管在我的服务器上的web应用程序。每次我发出请求时,我都必须发送一个自定义标头,以确定此请求来自移动应用程序而不是浏览器。为此,我使用了一个NSUrlProtocol对象,该对象覆盖在每个请求上插入自定义标头的方法请求。这是我的代码:

    public override NSUrlRequest Request {
        get {
            NSMutableDictionary headers = null;
            if (null == base.Request.Headers) {
                headers = new NSMutableDictionary ();
            } else {
                headers = new NSMutableDictionary (base.Request.Headers);
            }
            headers.Add(NSObject.FromObject(AppVariables.headerVariable), NSObject.FromObject (AppVariables.appVersion));
            NSMutableUrlRequest newRequest = (NSMutableUrlRequest)base.Request.MutableCopy ();
            newRequest.Headers = headers;
            return newRequest;
        }
    }
我现在的问题是,我注意到自从我开始使用nsurl协议以来,页面的加载时间增加了很多。现在加载需要10秒,在此实现之前,页面大约需要3秒


任何人都可以指出一些有用的方向来克服这个问题吗???

我看不出在使用自定义头时响应时间延迟的任何原因。正如Andreas在评论中提到的,我相信这与您的服务器代码有关。我建议您分析服务器代码


当您从Fiddler或cURL发送请求(带有自定义标题)时,是否会看到类似的结果

就像@AndreasPaulsson和@prashant提到的,服务器可能是罪魁祸首。我建议使用Postman之类的工具测试API,并检查响应速度。我也建议你检查一下。在iOS中,库使用NSUrlSession

你知道额外的时间(额外的7秒)花在哪里吗?他们是在服务器上还是在应用程序中使用?如果您在浏览器中运行web应用程序(如果可能)并操作标题(例如在Chrome Developer Tools或Postman Chrome extension中),您在web浏览器中是否也有延迟?