【问题标题】:Exception Details: System.ArgumentException: Illegal characters in path. ASP.NET MVC异常详细信息:System.ArgumentException:路径中有非法字符。 ASP.NET MVC
【发布时间】:2011-04-07 13:56:59
【问题描述】:

您好,我在使用带有 C# 的 ASP MVC 时遇到问题。当我创建一个具有强类型继承的 aspx 页面时,我收到以下错误:

“/”应用程序中的服务器错误。

路径中有非法字符。 说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详情:System.ArgumentException:路径中有非法字符。

来源错误:

第 60 行:///

第 61 行:/// 连接字符串

第 62 行:public ObjectContext(string connectionString)

第 63 行::base(connectionString, "Entity")

第 64 行:{

我无法解决这个问题,在我创建的任何网页中都遇到了同样的问题。我在互联网上检查了我的 web.config 信息,但没关系,我重新创建了 ado 实体连接,但发生了同样的情况。

这是我在 web.config 上的连接字符串:

添加 name="Entity" connectionString="metadata=res:///Models.model.csdl|res:///Models.model.ssdl|res://*/Models .Model.msl;provider=System.Data.SqlClient;provider connection string="Data Source=SOURCE\SQL;Initial Catalog=db;Persist Security Info=True;User ID=user;Password=password;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />

非常感谢!

【问题讨论】:

    标签: c# asp.net-mvc connection-string


    【解决方案1】:

    我可以看到您的连接字符串看起来有问题。应该是....metadata=res://*/Models.model.csdl|res://*/Models.model.ssdl....

    只是让您知道元数据代表了这一点:

    metadata=res://{assembly}/{namespace}.{filename}.csdl|res://{assembly}/{namespace}.{filename}.ssdl|res://{assembly}/{namespace}.{filename}.msl;
    

    您可以将程序集名称或通配符 * 放在您的 csdl 和 ssdl 上,看起来好像缺少它

    【讨论】:

    • 感谢您的回答。我尝试缩短信息,真正的路径是 metadata=res://*/Models.DataLogic.Data.nameModel.csdl 我对无法使用该路由声明控制器或类的实体访问这一事实感到困惑。一些简单的东西,比如私有实体模型 db = new entitymodel();如果我不将 edmx 文件放在模型上,这是不可能的。直接而不是 Models.Datalogic.Data.edmx 我真的很困惑,我会检查的。非常感谢您的宝贵时间。
    猜你喜欢
    • 2014-03-11
    • 1970-01-01
    • 1970-01-01
    • 2012-09-25
    • 1970-01-01
    • 2010-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多