- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试在调用其他 Web 服务的 ASP.NET 应用程序中进行一些 cookie 管理。我遇到了一个错误,我只能在某些环境中重现。我的问题是:
以下是我用来重现问题的详细信息。我看到的错误是:
Unhandled Exception: System.Net.CookieException:
An error occurred when parsing the Cookie header for Uri 'http://example.com/'.
---> System.Net.CookieException: <b>Cookie format error.</b>
at System.Net.CookieContainer.CookieCutter(Uri uri, String headerName,
String setCookieHeader, Boolean isThrow)
--- End of inner exception stack trace ---
at System.Net.CookieContainer.CookieCutter(Uri uri, String headerName,
String setCookieHeader, Boolean isThrow)
at System.Net.CookieContainer.SetCookies(Uri uri, String cookieHeader)
at Program.Main() in c:\Sample\Program.cs:line 21
我创建了一个重现问题的控制台应用程序(下面的相关部分)。完整代码位于 https://compilr.com/adutton/cookiecutterexample/main.cs
string[] cultures = new[] { "en-US", "es-MX" };
const string cookieHeader = ".ASPXAUTH=SECURITYINFO; domain=.example.com; "
+ "expires=Mon, 06-Mar-2023 18:36:33 GMT; path=/; HttpOnly";
foreach (string culture in cultures)
{
Console.WriteLine("CookieCutting with culture: " + culture);
Thread.CurrentThread.CurrentCulture = new CultureInfo(culture);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture);
CookieContainer ctr = new CookieContainer();
// The following line throws an exception
ctr.SetCookies(new Uri("http://example.com/"), cookieHeader);
}
此代码适用于我的开发机器(Windows 7、x64、.NET 4.5.50709),但不适用于生产环境(Windows Server 2008 R2 Enterprise、x64、.NET 4.0.30319),其中代码为 es-MX
文化抛出异常。
如果我从 cookie header 中删除日期,异常就会消失,这让我相信这是 cookie 解析器的本地化问题。也许这已在 .NET 4.0 -> 4.5 中修复?
最佳答案
我认为问题在于星期几之后的逗号,如下所示:Help With .NET CookieContainer
关于c# - .NET CookieException "Cookie format error"当线程区域性不是英语时 - 仅在某些环境中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15257004/
我创建了一个本地化的 wpf 应用程序。为了在系统中安装应用程序,我使用了 visual studio 提供的 msi 安装程序。安装完成后,我通过运行 commit custom action 命令
我有英语 Windows 版本,目前无法调试它,但我正在将应用程序本地化为俄语和英语两种语言。 据我了解,在 App 构造函数中,以下代码应该足够了: if (Language
我的应用程序在 web.config 中设置了 pt-BR 区域性(日期为 dd-mm-yyyy): 在我的系统上创建的所有日期时间都是正确的格式,但我创建了一个像这样的 Controller 方法
我是一名优秀的程序员,十分优秀!