如何检查Http请求是否来自WebView?

时间:2013-11-09 18:57:03

标签: asp.net-mvc asp.net-mvc-4 webview windows-runtime user-agent

我有一个WinRT应用程序,可以将WebView打开到我的MVC Web应用程序。

我想使用MVC浏览器特定视图为此特定浏览器提供特殊布局。之所以这样,是因为视口会比"普通"

小很多

配置此功能的最佳方法是什么?我检查了用户代理字符串,它非常通用,并没有告诉我多少:

Request.ServerVariables["HTTP_USER_AGENT"]
"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0; Touch; WebView/1.0)"

有没有办法可以创建条件来检查WebView?

DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("WinRTWebView")
{
    ContextCondition = (context => ???WHAT BOOLEAN LOGIC SHOULD GO HERE???)
});

我可能还需要在我的webview上创建特殊的用户代理,如果有人知道如何做到这一点......我在MSDN上检查了API并且没有明显的内容。

1 个答案:

答案 0 :(得分:0)

由于用户代理没有提供您可以使用的任何内容,我可以考虑另外两个选项:

  1. 在您提供给WebView的网址中包含参数:?client=winrt
  2. 然后只使用该参数的存在来确定要显示的视图。

    1. 第二个选项是使用响应式设计,这样您就不需要检查用户代理,而是根据视口大小调整视图。此方法不允许您使用不同的视图。而只是有一个服务的视图,并使用CSS以不同的方式定位项目。