【问题标题】:shopping cart suddenly stopped working c#购物车突然停止工作c#
【发布时间】:2013-03-21 09:29:57
【问题描述】:

购物车又掉了,是不是因为托管公司提供了新的临时网站功能?

我确实认为这是托管公司围绕设置进行的游戏,购物车又开始工作了,我没有改变任何东西......

有没有好的可靠的windows虚拟主机公司?

有人可以帮我吗?托管公司让我发疯。几天前我的网站和购物车运行良好,并且网站在我的本地主机上运行良好,但我的购物车从昨天开始突然停止工作。我认为这是因为托管公司更改了一些设置,但他们否认了,并说这是我的代码的问题。 这是我得到的错误:

[A]ShoppingCart 不能转换为 [B]ShoppingCart。 A型起源 来自'App_Code.ej8etxbi,版本=0.0.0.0,文化=中性, PublicKeyToken=null' 在上下文“默认”的位置 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET 文件\root\03050970\f5f76d45\App_Code.ej8etxbi.dll'。 B型起源 来自'App_Code.qoxkmirc,版本=0.0.0.0,文化=中性, PublicKeyToken=null' 在上下文“默认”的位置 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET 文件\root\03050970\f5f76d45\App_Code.qoxkmirc.dll'。

描述:执行过程中发生了未处理的异常 当前的网络请求。请查看堆栈跟踪以获取更多信息 有关错误的信息以及它在代码中的来源。

异常详细信息:System.InvalidCastException:[A]ShoppingCart 不能 被投放到 [B] 购物车。 A 型源自 'App_Code.ej8etxbi, Version=0.0.0.0,Culture=neutral,PublicKeyToken=null' 在上下文中 位置的“默认” 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET 文件\root\03050970\f5f76d45\App_Code.ej8etxbi.dll'。 B型起源 来自'App_Code.qoxkmirc,版本=0.0.0.0,文化=中性, PublicKeyToken=null' 在上下文“默认”的位置 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET 文件\root\03050970\f5f76d45\App_Code.qoxkmirc.dll'。

来源错误:

{
// we are returning the shopping cart for the given user
return (ShoppingCart)HttpContext.Current.Session["ASPNETShoppingCart"];
}
}

我的网站在不到一个月的时间里就宕机了 11 次,如果有人知道任何好的、可靠的 windows 网络托管公司,如果你能告诉我,我将不胜感激。

谢谢

【问题讨论】:

  • 将 CartA 转换为 CartB 的错误将是代码问题,而不是托管问题。
  • 你昨天发布的东西是不是也在你的代码中检查和搜索 ASPNETShoppingCart ,你在代码中用这个键设置了什么?
  • @NeilThompson 类型转换也应该在本地通过错误?
  • 我不知道我做错了什么,因为它在我的本地主机上仍然可以正常工作。下面是购物车的更多代码:
  • if (HttpContext.Current.Session["ASPNETShoppingCart"] == null) { ShoppingCart instance = new ShoppingCart(); instance.Items = new List(); HttpContext.Current.Session["ASPNETShoppingCart"] = 实例;返回实例; } else { // 我们返回给定用户的购物车 return (ShoppingCart)HttpContext.Current.Session["ASPNETShoppingCart"]; }

标签: c# shopping-cart web-hosting


【解决方案1】:

您是否在不同的程序集或 DLL 中有 ShoppingCart 类,或者如果您多次加载相同的程序集,那么每个副本也不会被视为相同。

【讨论】:

  • 这里是我在 shopping cart.cs 文件中声明我的购物车的唯一地方。抱歉,这是我第一次用购物车写一个网站,我不明白我应该改变什么?为什么我在本地主机上看不到这个错误?谢谢你,Saurabh。
  • 检查清理服务器上的临时 ASP.NET 文件会有所帮助。
  • 嗨 Saurabh,谢谢您的回复。它再次工作,我没有改变任何东西。好奇怪!
【解决方案2】:

类型是每个程序集的,如果您有两次加载“相同”的程序集,则每个程序集中的类型不被认为是相同的类型。

因此,请确保您的所有项目都引用包含“ShoppingCart”的同一个 dll。

P.S 在确保对包含“ShoppingCart”的 dll 的所有引用都相同之后,尝试清理“临时 ASP.NET 文件”文件夹并重新部署应用程序的事情。那么应该可以工作了。

【讨论】:

    猜你喜欢
    • 2015-03-15
    • 2017-08-22
    • 2021-02-01
    • 2016-12-29
    • 2018-05-09
    • 2015-12-07
    • 2015-08-23
    • 2014-02-05
    相关资源
    最近更新 更多