【发布时间】:2014-10-24 05:49:02
【问题描述】:
我使用 linq 和 oracle 数据库在 asp.net c# 中创建了一个应用程序。这个应用程序在 Widows 7 32 位本地主机上运行良好。但是当我在 windows server 2008 r2 部署这个应用程序时。它给出了以下错误。指南我下面的错误是什么。如何在部署服务器上检查此错误以及如何解决此错误
指定的演员表无效。描述:未处理的异常 在执行当前 Web 请求期间发生。请 查看堆栈跟踪以获取有关错误和位置的更多信息 它起源于代码。
异常详细信息:System.InvalidCastException:未指定强制转换 有效。
来源错误:
在执行过程中产生了一个未处理的异常 当前的网络请求。有关原产地和位置的信息 可以使用下面的异常堆栈跟踪来识别异常。
堆栈跟踪:
[InvalidCastException: 指定的强制转换无效。]
System.Data.UnboxT`1.ValueField(对象值) +54
sis.c__DisplayClass55.b__0(DataRow r) +38
System.Linq.WhereEnumerableIterator`1.MoveNext() +156
System.Linq.WhereSelectEnumerableIterator`2.MoveNext() +165
System.Linq.d__81`1.MoveNext() +472
System.Linq.Enumerable.Count(IEnumerable`1 source) +267
sis.regreport.Page_Load(Object sender, EventArgs e) +5015
System.Web.UI.Control.LoadRecursive() +71
System.Web.UI.Page.ProcessRequestMain(布尔 includeStagesBeforeAsyncPoint,布尔值
includeStagesAfterAsyncPoint) +3178
var vcolM = dt.AsEnumerable()
.Where(r => r.Field<string>("MAJ") == (string)vprglist
&& r.Field<string>("SPEC") == (string)vspecourse
&& r.Field<string>("L_ABR_CODE") == (string)genderEng[1]
&& r.Field<string>("reg") == (string)drRegion["reg"]
&& r.Field<decimal>("year") == syrcnt)
.Sum(r => Convert.ToInt32(r["strength"]));
上面的所有 linq 在本地 pc 中都可以正常工作。但是在 windows server 2008 中出现错误。syrcnt 是 int。
【问题讨论】:
-
在行上放一个断点,并检查究竟是什么类型的对象键。当您知道这一点时,您将能够更好地确定您需要什么样的演员表。
-
因为在deploymnet服务器中如何插入断点
-
因为在开发服务器中只有 DLLs 文件可用。但在本地 pc 应用程序中工作正常
-
你能描述一下这个错误发生的时间吗?我的意思是当您尝试重定向到某个页面或第一次在地址栏中尝试您的网址时?
-
第一次。当我在地址栏中尝试 url 时
标签: c# asp.net .net oracle linq