UIWebView使用NSUrlProtocol Xamarin.Forms缓慢加载

avm*_*cio 11 uiwebview nsurlprotocol ios xamarin xamarin.forms

我正在使用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;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我现在遇到的问题是我注意到自从我开始使用NSUrlProtocol后,页面的加载时间增加了很多.现在加载需要10秒,在此实现之前,页面大约需要3秒钟.

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

Pra*_*dda 1

当您使用自定义标头时,我没有发现响应时间延迟的任何原因。就像安德烈亚斯在评论中提到的那样,我相信这与您的服务器代码有关。我建议分析您的服务器代码。

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