值不能为空。参数名称:文本

时间:2010-11-02 06:43:58

标签: asp.net-mvc linq

VS2010 .NET 4 - 这个简单的应用程序可以使用我的本地系统。当我在IIS 7 Web服务器上发布它时,当应用程序使用容器函数运行此Linq查询时,我收到此错误。

var results = view_UserInfoRepository.View_UserInfo.Where(x => x.Email.Contains(eMail)).OrderBy(x => x.Email);
'/'应用程序中的服务器错误。
  

值不能为空。参数名称:text描述:未处理   在执行当前Web请求期间发生异常。   请查看堆栈跟踪以获取有关错误的更多信息   它起源于代码。

     

异常详细信息:System.ArgumentNullException:值不能为null。   参数名称:text

     

来源错误:

     

执行期间生成了未处理的异常   当前的网络请求。有关的来源和位置的信息   可以使用下面的异常堆栈跟踪来识别异常。

     

堆栈追踪:

     

[ArgumentNullException:Value不能为null。参数名称:文字]
  System.Data.Linq.SqlClient.SqlHelpers.GetStringContainsPattern(字符串   text,Char escape,Boolean& usedEscapeChar)+595083
  System.Data.Linq.SqlClient.Visitor.TranslateStringMethod(SqlMethodCall   mc)+797
  System.Data.Linq.SqlClient.Visitor.VisitMethodCall(SqlMethodCall mc)   +1149 System.Data.Linq.SqlClient.SqlVisitor.Visit(SqlNode node)+2136 System.Data.Linq.SqlClient.SqlVisitor.VisitExpression(SqlExpression   exp)+11
  System.Data.Linq.SqlClient.SqlVisitor.VisitSelectCore(一个SQLSelect   选择)+48
  System.Data.Linq.SqlClient.Visitor.VisitSelect(SqlSelect select)+20
  System.Data.Linq.SqlClient.SqlVisitor.Visit(SqlNode node)+1015
  System.Data.Linq.SqlClient.SqlVisitor.VisitAlias(SqlAlias a)+16
  System.Data.Linq.SqlClient.SqlVisitor.Visit(SqlNode node)+430
  System.Data.Linq.SqlClient.SqlVisitor.VisitSource(SqlSource source)   +11 System.Data.Linq.SqlClient.SqlVisitor.VisitSelectCore(SqlSelect select)+26
  System.Data.Linq.SqlClient.Visitor.VisitSelect(SqlSelect select)+20
  System.Data.Linq.SqlClient.SqlVisitor.Visit(SqlNode node)+1015
  System.Data.Linq.SqlClient.SqlVisitor.VisitAlias(SqlAlias a)+16
  System.Data.Linq.SqlClient.SqlVisitor.Visit(SqlNode node)+430
  System.Data.Linq.SqlClient.SqlVisitor.VisitSource(SqlSource source)   +11 System.Data.Linq.SqlClient.SqlVisitor.VisitSelectCore(SqlSelect select)+26
  System.Data.Linq.SqlClient.Visitor.VisitSelect(SqlSelect select)+20
  System.Data.Linq.SqlClient.SqlVisitor.Visit(SqlNode node)+1015
  System.Data.Linq.SqlClient.SqlVisitor.VisitAlias(SqlAlias a)+16
  System.Data.Linq.SqlClient.SqlVisitor.Visit(SqlNode node)+430
  System.Data.Linq.SqlClient.SqlVisitor.VisitSource(SqlSource source)   +11 System.Data.Linq.SqlClient.SqlVisitor.VisitSelectCore(SqlSelect select)+26
  System.Data.Linq.SqlClient.Visitor.VisitSelect(SqlSelect select)+20
  System.Data.Linq.SqlClient.SqlVisitor.Visit(SqlNode node)+1015
  System.Data.Linq.SqlClient.SqlProvider.BuildQuery(ResultShape   resultShape,Type resultType,SqlNode node,ReadOnlyCollection 1 parentParameters, SqlNodeAnnotations annotations) +805
System.Data.Linq.SqlClient.SqlProvider.BuildQuery(Expression query, SqlNodeAnnotations annotations) +155
System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) +132
System.Data.Linq.DataQuery
1.System.Collections.Generic.IEnumerable.GetEnumerator()   +34 System.Collections.Generic.List 1..ctor(IEnumerable 1 collection)+315 System.Linq.Enumerable.ToList(IEnumerable 1 source) +58
TSM.WebUI.Admin.Controllers.UserAdminController.SearchEMail(String eMail, Int32 page) in C:\Users\Jeff\Documents\Visual Studio 2010\Projects\TSM\TSM.WebUI.Admin\Controllers\UserAdminController.cs:180 lambda_method(Closure , ControllerBase , Object[] ) +151
System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +17
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary
2个参数)+199
  System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext   controllerContext,ActionDescriptor actionDescriptor,IDictionary 2 parameters) +27
System.Web.Mvc.<>c__DisplayClassd.<InvokeActionMethodWithFilters>b__a() +56 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func
1 continuation)+267
  System.Web.Mvc&LT;&GT; C_ DisplayClassf.b _c()   +20 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext   controllerContext,IList 1 filters, ActionDescriptor actionDescriptor, IDictionary 2个参数)+190
  System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext   controllerContext,String actionName)+345
  System.Web.Mvc.Controller.ExecuteCore()+ 1155   System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)   +42 System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext   requestContext)+10
  System.Web.Mvc。&lt;&gt; c_ DisplayClass8.b _4()+34
  System.Web.Mvc.Async。&lt;&gt; c_ DisplayClass1.b _0()+ 21
  System.Web.Mvc.Async。&lt;&gt; c__DisplayClass8 1.<BeginSynchronous>b__7(IAsyncResult _) +12 System.Web.Mvc.Async.WrappedAsyncResult 1.End()+55 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)   +43 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult)   结果)+9
  System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()   +8841105 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean&amp; completedSynchronously)+184

     

----------------------------------------------- ---------------------------------版本信息:Microsoft .NET Framework版本:4.0.30319;   ASP.NET版本:4.0.30319.1

1 个答案:

答案 0 :(得分:3)

好吧,我怀疑问题是eMail为空。检查它的最简单方法是在开发框上的查询之前将设置 eMail显式为null,并查看是否给出相同的结果。如果确实如此,你需要继续找出它为什么在生产中是空的而不是在开发中。