【问题标题】:How to deploy an EntityFramework application in a intranet?如何在 Intranet 中部署 EntityFramework 应用程序?
【发布时间】:2016-02-10 13:50:35
【问题描述】:

我已将 Windows 窗体应用程序 (Visual Studio 2013 C#) 部署到文件共享,并将让我的用户从该文件共享运行应用程序。该应用程序使用 Entity Framework 6 并且可以从文件共享中正常工作,但在首次执行期间加载 EntityFramework.dll 会出现延迟。

是否可以仅将此 dll 从文件共享移动到本地 pc 并告诉应用程序从本地 pc 使用它?

【问题讨论】:

  • 你确定延迟是因为共享 dll 吗?可能是 EF 模型初始化
  • 您是否排除了 DNS 和代理问题?这两种方法都会在无效请求超时时引入 30 秒延迟,并且可以继续处理有效请求。
  • 感谢您的快速回复。这个问题与初始化 EF 不同,因为应用程序运行得非常快,直到数据以一种形式显示。
  • 我已经排除了 DNS 和代理问题,因为该应用程序确实可以通过文件共享工作,但在任何表单中使用 EF 时速度很慢。缓慢在应用程序中发生一次,之后就没事了。

标签: c# .net entity-framework visual-studio deployment


【解决方案1】:

正如@tede24 所说,在尝试解决此问题之前,请确保 EntityFramework.dll 确实是您的问题。

一旦你确定是这样,以下是我能想到的选项:

1) 使用 ClickOnce

ClickOnce 不受欢迎,但it still seems to be the preferred way for deploying intranet applications。是的,它支持版本检查和自动更新。

2) 使用某种 XCopy 安装

您可以创建批处理/PowerShell 从您的 Intranet 本地复制应用程序内容。如果你想更进一步,你甚至可以在启动前验证版本是否是最新的。

3) 尝试将 EntityFramework 放入客户端计算机上的 GAC(不推荐)

EntityFramework 并不意味着 GACed,但您仍然可以尝试这样做。我会强烈避免它,因为你可能会遇到依赖和更新问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-21
    • 2023-03-05
    相关资源
    最近更新 更多