【问题标题】:asp.net 4.0 web service is not working on the server; can anyone proofread the code?asp.net 4.0 web 服务在服务器上不工作;任何人都可以校对代码吗?
【发布时间】:2011-12-29 16:11:58
【问题描述】:

我从服务器下载了模型,它在我的 没有代码或实体框架修改的桌面。这里是 我从我的 Web 服务的服务器版本得到的新错误:

System.Data.MappingException:指定的架构无效。错误:

NightRiseModel.msl(143,12):错误 2019:指定的成员映射是 无效。方式 'Edm.DateTimeOffset[Nullable=False,DefaultValue=,Precision=]' 类型中的成员“User_Events_Timestamp” “nightriseModel.user_events”不兼容 'MySql.timestamp[Nullable=False,DefaultValue=,Precision=0]' 的 类型中的成员“User_Events_Timestamp” 'nightriseModel.Store.user_events'。

NightRiseModel.msl(172,12):错误 2019:指定的成员映射是 无效。方式 'Edm.DateTimeOffset[Nullable=True,DefaultValue=,Precision=]' 类型中的成员“User_Create_Date” “nightriseModel.user”不兼容 'MySql.timestamp[Nullable=True,DefaultValue=,Precision=0]' 的 类型中的成员“User_Create_Date” 'nightriseModel.Store.users'。 在 System.Data.Mapping.StorageMappingItemCollection.Init(EdmItemCollection edmCollection, StoreItemCollection storeCollection, IEnumerable1 xmlReaders, List1 filePaths, Boolean throwOnError)

在 System.Data.Metadata.Edm.MetadataCache.StoreMetadataEntry.LoadStoreCollection(EdmItemCollection edmItemCollection,MetadataArtifactLoader 加载器)

在 System.Data.Metadata.Edm.MetadataCache.LoadItemCollection[T](IItemCollectionLoader`1 itemCollectionLoader,T 项)

在 System.Data.Metadata.Edm.MetadataCache.GetOrCreateStoreAndMappingItemCollections(String cacheKey、MetadataArtifactLoader 加载器、EdmItemCollection edmItemCollection, 对象& entryToken)

在 System.Data.EntityClient.EntityConnection.LoadStoreItemCollections(MetadataWorkspace 工作区、DbConnection storeConnection、DbProviderFactory 工厂、 DbConnectionOptions 连接选项,EdmItemCollection edmItemCollection, MetadataArtifactLoader artifactLoader)

在 System.Data.EntityClient.EntityConnection.GetMetadataWorkspace(Boolean 初始化所有集合)

在 System.Data.EntityClient.EntityConnection.InitializeMetadata(DbConnection newConnection, DbConnection originalConnection, 布尔值 closeOriginalConnectionOnFailure)

在 System.Data.EntityClient.EntityConnection.Open()

在 System.Data.Objects.ObjectContext.EnsureConnection()

在 System.Data.Objects.ObjectQuery1.GetResults(Nullable1 forMergeOption)

在 System.Data.Objects.ObjectQuery`1.System.Collections.Generic.IEnumerable.GetEnumerator()

在 System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 源)

在 System.Linq.Queryable.FirstOrDefault[TSource](IQueryable`1 源)

在 NightRiseService.Authentication.Login(String UID, String 密码)在 [路径已删除]\authentication.asmx.cs:line 29

【问题讨论】:

  • 请格式化问题(尤其是代码)

标签: asp.net mysql database


【解决方案1】:

我知道这可能是一个旧线程,您找到了解决方案,但是谁又遇到了这个问题。

我刚刚遇到了同样的问题,解决方案是我本地机器上的 MySQL 连接器与服务器上的连接器不同。在本地工作,但在我发布到服务器时没有。

将服务器升级到新的 MySQL 连接器后一切正常。

【讨论】:

    【解决方案2】:

    听起来 MySql 提供程序没有正确安装。这并不是非常牵强,众所周知,它有点小气。我要补充一点,我对 EF 启动消息的经验是,它们通常可以吃掉实际的、近端的、真正的异常。这可能是抱怨由于用户/密码错误或服务器地址输入错误等其他原因而无法打开 MySqlConnection。

    我会尝试在应用程序中包含任何必要的二进制文件,而不是依赖操作正确安装它。我还将建立一个更好的仪表化启动,可以识别哪些已安装和未安装。需要缓慢而有条不紊,例如先进行简单的 mysql 连接以连接 EF 提供程序。

    【讨论】:

    • 如何在服务器上执行此操作,它没有安装任何开发人员工具?抱歉,如果这听起来很无知,这是我第一次使用 mySQL 和实体框架进行部署。
    • 您将调试页面添加到您的应用程序中,该页面将逐步完成。即,首先它会尝试打开和关闭 mysql 连接,如果成功则报告成功。其次,它尝试更新 EF 上下文,并报告成功或失败。最后,它可能会实际选择一些数据并确保不会出错。
    猜你喜欢
    • 2010-10-10
    • 1970-01-01
    • 1970-01-01
    • 2012-03-19
    • 2020-04-19
    • 2018-03-22
    • 1970-01-01
    • 2017-07-06
    • 1970-01-01
    相关资源
    最近更新 更多