2015-11-13 12 views
5

私はASP.NETと同じ2つの呼び出しを持っていますが、唯一の違いはUser-Agentです。私はこの問題を再現するためにFiddlerを使用しました。User-Agentに応じてパスに不正な文字がありますか?

HTTPリクエスト行は次のようになりますと

PUT http://localhost/API/es/us/havana/club/tickets/JiWOUUMxukGVWwVXQnjgfw%7C%7C214 HTTP/1.1 

作品:他のすべてが同じ100%である

User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.3 (KHTML, like Gecko) Version/8.0 Mobile/12A4345d Safari/600.1.4 

User-Agent: Mozilla/5.0 (Linux; Android 4.3; Nexus 10 Build/JSS15Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2307.2 Safari/537.36 

がで失敗。

+0

どのようにそれができませんの?返されるステータスコードは何ですか?サーバー側のエラートレース? – fiddler

+0

'/ Api'アプリケーションのサーバーエラー。 パスに不正な文字があります。 ArgumentException:パスに不正な文字があります。] System.IO.Path.CheckInvalidPathChars(String path、Boolean checkAdditional)+13766780 System.IO.Path.GetExtension(String path)+28 System.Web.WebPages.DefaultDisplayMode.TransformPath String virtualPath、String suffix)+49 System.Web.WebPages.DefaultDisplayMode.GetDisplayInfo(HttpContextBase httpContext、String virtualPath、Func'2 virtualPathExists)+33 System.Web.WebPages.DisplayModeProvider.GetDisplayInfoForVirtualPath(String virtualPath、HttpContextBase、.. – user2105237

+0

私は、この問題がフィドラーと無関係であるように見えることを明らかにする。私はちょうど呼び出しをトレースするためにフィドラーを使用した。 – user2105237

答えて

3

私の場合、根本原因はMVCのMultipleViewsおよびDisplayModeプロバイダでした。これにより、MVCアプリケーションは魔法のようにデバイス固有のビューを取得できます。例えば custom.cshtml

customer.mobile.cshtmlこの記事では、機能性の良い説明を持つだけでなく、それをオフにする方法について詳しく説明します。 https://msdn.microsoft.com/en-us/magazine/dn342866.aspx

私はMicrosoft.AspNet.WebPagesパッケージを追加することで、これを固定しました私のプロジェクトに、私のスタートアップ(OWIN、/ wのOwinStartup属性decordated方法を使用して、Global.asaxの中または場合のApplication_Start)で、このコードへの呼び出しを追加:

public static void RegisterDisplayModes() 
{ 
    // MVC has handy helper to find device-specfic views. Ain't no body got  time for that. 
    dynamic modeDesktop = new DefaultDisplayMode("") { ContextCondition = (c => { return true; }) }; 
    dynamic displayModes = DisplayModeProvider.Instance.Modes; 
    displayModes.Clear(); 
    displayModes.Add(modeDesktop); 
} 
関連する問題