如何在mvc4中区分连接等的调试和发布

2024-01-20

所以我对 MVC4 相当陌生,很多模式对我来说都是新的。

然而,我好奇的一件事是关于发布/调试模式的最佳实践。 对我来说,实时模式和调试模式之间有很多不同的事情,我希望所有这些都是自动的,这样我就不需要更改任何内容来发布。

例如,我在我的存储库(域项目)中这样做了 公共类 EFAccountRepository :IAccountRepository { 私有 EFDbContext _context;

    public EFAccountRepository()
    {
#if DEBUG
        _context = new EFDbContext("name=Debug");
#else
        _context = new EFDbContext("name=Live");
#endif
    }

在我的 DI (webui) 中就像这样

#if DEBUG
        EFDbContext efcontext = new EFDbContext("name=Debug");
#else
        EFDbContext efcontext = new EFDbContext("name=Live");
#endif

或者简单地拥有会更聪明吗?

EFDbContext efcontext = new EFDbContext("name=MyApp");

然后用web.config改变MyApp是什么意思?

热烈欢迎任何其他自动化调试/发布发布的技巧。


我强烈建议不要将连接字符串硬编码到代码中。请考虑将您的代码指向 web.config 转换。您可以在此处添加连接字符串,并根据代码的版本应用适当的转换,以便您只需在应用程序中使用以下代码即可覆盖所有环境。

ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString

在调试版本中你可能有类似的东西

<configuration xmlns:xdt="...">
    <connectionStrings>
      <add name="MyConnectionString" connectionString="debugstring"
         providerName="debugprovider" />
     </connectionStrings>
</configuration>

在您的发行版本中,您可以告诉转换来替换旧字符串,如下所示

<configuration xmlns:xdt="...">
    <connectionStrings>
      <add name="MyConnectionString" connectionString="newstring"
         providerName="newprovider"
         xdt:Transform="Replace" />
     </connectionStrings>
</configuration>

更多参考请查看http://msdn.microsoft.com/en-us/library/dd465326.aspx http://msdn.microsoft.com/en-us/library/dd465326.aspx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在mvc4中区分连接等的调试和发布 的相关文章

  • Visual Studio 2015 Update 1 中 C++ 的内部编译器错误

    我已更新到 Visual Studio 2015 Update 1 但现在每当我编译 64 位的发布配置时 都会收到以下错误 一切都适用于 32 位和 或调试版本 fatal error C1001 An internal error ha
  • 了解 MVC-5 身份

    我创建了一个新的ASP NET MVC 5申请与Individual User Accounts然后更新了所有的Nuget packages在解决方案中 现在我尝试遵循一些教程中显示的一些指南 但遇到了一些问题 第一个是一个名为Applic
  • 即使对于新上下文,OnModelCreating 也仅调用一次

    我有多个相同但内容不同的 SQL Server 表 在编写代码优先 EF6 程序时 我尝试为每个程序重用相同的数据库上下文 并将表名称传递给上下文构造函数 然而 虽然每次都会调用构造函数 但尽管每次都是从 new 创建数据库上下文 但 On
  • 运行WPF应用程序时出错

    该应用程序在制作它的计算机上运行良好 但是当我将其复制到另一台相同的操作系统时 它崩溃并显示以下错误 Problem signature Problem Event Name CLR20r3 Problem Signature 01 vpn
  • 在实体框架中对连接字符串进行硬编码

    我知道很多人认为对连接信息进行硬编码是一个坏主意 但我有一个特定的情况需要这样做 请不要贬低我 因为你认为这是一个坏主意 再次 非常具体的情况 使用下面的代码 我在 LINQ 语句上收到以下错误 底层提供程序在打开时失败 我已经独立测试了连
  • Angular 6+ 应用程序的运行时配置

    在 Angular 应用程序运行时加载环境特定配置的推荐最佳实践是什么 Angular 文档提到了 APP INITIALIZER 的使用 但对于使用 forRoot 约定的导入模块的运行时配置等加载过程来说 这仍然还不够早 在我的用例中
  • 使用 MSBuild 和 CSPack 任务打包 Azure 角色

    我正在为 Azure Web 角色项目编写构建脚本 该脚本将在构建服务器上运行 因此使用 VS 是行不通的 我可以使用 MSBuild 构建项目并使用适用于 Azure 的 CmdLet http code msdn microsoft c
  • 将 React-Native 应用部署到 App Store 的指南

    经过我的所有研究 我仍然无法在不使用博览会的情况下找到在应用程序商店中部署应用程序的正确文档 该应用程序在调试模式和其他测试设备下运行良好 唯一的问题是部署 我以为我已经找到一篇文章叫部署适用于 iOS 的 React Native 应用程
  • Docker:如何创建堆栈、多个映像或一个基础映像?

    I am new using Docker and I got the doubt of using one image base for my stack or I have to define each image depending
  • 对于相同的数据库对象,实体框架对象引用是否相同

    如果我从不同位置查询 逻辑上 在数据库中 相同的对象 实体框架是否返回相同的对象引用 例如 我查询了名为 Joe Black 的客户 并假设现在我知道数据库中只有一个 Joe Black Customer c select blabla w
  • EF Core 第二级 thenIninclude 错误

    假设首先有这些模型 Method有一个OriginalCode OriginalCode那有很多Mutants Mutant那有很多ParseSubTrees 现在当查询时Method我希望加载另一个 所以我有以下内容 Method tar
  • 您可以在 Google Play 中设置未来的发布日期吗?

    我知道您可以在 Apple App Store 和 Amazon App Store 中设置未来的发布日期 发布日期 这可以在 Google Play 中实现吗 目前无法在 Google Play 上设置未来的发布日期 发布日期 欢迎在官方
  • VS 2012 中缺少实体数据模型

    添加新项目时 我在 数据 选项卡下找不到实体数据模型 我查看了几个问题和答案以及有关此问题的信息 但没有一个解决方案有效 我已修复 卸载并重新安装 手动安装 EF Tools 包并尝试卸载所有 VS 相关程序 我还尝试在不同的 NET 框架
  • 使用 linq 2 实体检查 where 子句的两个条件

    嗨 我有一个名为 产品 的表 其中包含列 product id prodcut name prodcut price values like 1200 2000 3000 100 prodcut desc category id 1 2 3
  • ASP.net MVC 项目无法在 IIS 上编译

    我以前只是将 ASP NET 网站上传到实时服务器 IIS 会自动编译它们 但是 当我对 asp net MVC 项目执行相同操作时 我只是收到错误 并且我需要在上传项目之前发布 构建 项目 注意1 我使用的是VWD 2008 Expres
  • Angular2通用部署到apache远程服务器

    我在将 Web 应用程序部署到 Apache 远程服务器时遇到问题 我已经通过以下步骤部署了一个使用 RESTful API 服务 用 PHP 编写 托管在 public html api 的标准 Angular2 Web 应用程序 在项目
  • asp.net mvc 4 - 可以在每个线程共享 DbContext 吗?

    From 每个 Web 请求一个 DbContext 为什么 https stackoverflow com questions 10585478 one dbcontext per web request why 我的理解是 DbCont
  • Tomcat Intellij Idea:远程部署

    RackSpace 云服务器 Ubuntu 12 04 Intellij Idea 11 1 2 Windows 8 Tomcat 7 0 26 JDK 6 在 Intellij Idea 上 当我尝试在远程 Tomcat 7 服务器上运行
  • XCode 无法将 iPhone 应用程序部署到 iPhone 3GS

    因此 我构建了我的 iPhone 应用程序 它在模拟器中运行良好 因此我想将其部署到我的 iPhone 上进行最后一轮测试 然后再使用我的分发配置文件进行公开 Beta 测试 我已经这样做过很多次了 从来没有出现过问题 然而 自从上次测试运
  • Rails Capistrano 3 - 如何将 production.log 文件共享到 Capistrano 的共享文件夹中?

    我正在使用 Capistrano 3 与我的 Rails 应用程序一起部署 问题是 每次我将应用程序部署到服务器时 log development log 文件都会重置 我听说可以将 production log 文件放入共享文件夹中并在每

随机推荐

  • 古怪的 __set() 魔术函数

    谁能向我解释一下这种行为的逻辑吗 考虑以下情况 class EPPDomain protected myField public static function buildEPPDomain fieldValue me new self m
  • Select2:未捕获类型错误:options.results 不是函数

    我正在尝试使用 Select2 jquery 插件进行 AJAX 调用 查询似乎有效 但问题发生在 results 被称为options object Uncaught TypeError options results is not a
  • 默认变量值

    如果我在声明变量时没有为其赋值 那么它是否默认为零或只是内存中先前的值 e g float x 声明的变量可以是零初始化 值初始化 or 默认初始化 C 03 标准 8 5 5 恰当地定义了以下各项 To 零初始化T 类型的对象意味着 如果
  • 使用SimpleXmlElement和symfony2输出xml文件

    rootNode new SimpleXMLElement
  • OpenMP 如何重用线程

    我认为线程的创建和删除可能代价高昂 OpenMP 是否尝试重用现有线程 例如 pragma omp parallel sections num threads 4 pragma omp section worker A pragma omp
  • Rust 中连接向量的最佳方法是什么?

    是否有可能在 Rust 中连接向量 如果是这样 有没有一种优雅的方式来做到这一点 我有这样的事情 let mut a vec 1 2 3 let b vec 4 5 6 for val in b a push val 有谁知道更好的方法吗
  • 从 hIcon/hBitmap 获取字节/char*

    我正在开发一个C S应用程序 C 中的服务器和C 中的客户端 我需要发送一些有关当前正在运行的进程和相关图标的信息 我得到了图标文件感谢EnumWindows将此代码放在回调中 Get the window icon HICON hIcon
  • Angular - 不纯管道与函数

    我正在 Angular2 中的数组上实现过滤操作 当数组中的元素发生更改时 纯管道不会触发 因此 我必须使用不纯的管道或使用组件内部的函数进行过滤 如下所示 ngFor let item of items impureFilterPipe
  • 如何正确地从 Promise 返回多个值?

    我最近多次遇到某种情况 不知道如何正确解决 假设以下代码 somethingAsync then afterSomething then afterSomethingElse function afterSomething amazingD
  • 颁发身份超级账本作曲家时授权失败

    我阅读了建议检查 docker yaml 的答案 文件路径如下 我确认用户名是admin 密码是adminpw 不幸的是我仍然收到授权失败错误 我用来发布身份的命令 composer identity issue n trade netwo
  • 如何以 1 秒的间隔更新组件?

    我在戴尔面试时被问到这个问题 new Date 给你一个Date使用当前日期 时间初始化的对象 假设我的屏幕右上角显示当前时间 并且有人这样做了
  • InApp 计费验证 Web 服务器 PHP 上的订单

    我正在使用一个简单的 PHP 脚本来验证 Android 订单以解析客户的下载 receipt GET purchaseData billInfo json decode receipt true signature GET dataSig
  • stack --nix build 抱怨 ghc 版本不匹配

    在 NixOS 上构建 Threepenny gui 时stack nix build 我收到错误消息 说我的 ghc 版本错误 然后我尝试了stack nix setup 它不会运行 因为 bash 位于 NixOS 上的意外路径上 这是
  • Matlab 2012a Mex 在 Mountain Lion 上与 Xcode 4.5 配合使用

    我安装了 Mountain Lion 并安装了 Xcode 4 5 和 Matlab 2012a 我安装并运行了 MathWorks 网站上提供的补丁 但仍然收到以下错误 Applications MATLAB R2012a app bin
  • 在 iOS 8 上点击或选择输入字段中的所有内容时,光标超出边框

    IOS8有这个问题 IOS7没有 我有一个输入标签 其内容的长度大于其宽度
  • MMC进程立即关闭,无法链接到Windows窗体

    我想做的最终目标是将 MMC Microsoft 管理控制台 计算机管理管理单元 compmgmt msc 进程嵌入到 Windows 窗体中 或者将其视为模态弹出窗口的解决方法上菜单 现在 我只是想让 mmc exe 本身正常工作 然后再
  • 为什么应该在 LINQ To SQL 存储库保存方法中使用 GetOriginalEntityState()?

    我正在查看 Steven Sanderson 的 Pro ASP NET MVC 2 Framework 一书中的产品存储库中的保存方法示例 public void SaveProduct Product product if new pr
  • Google Cloud SQL 实例无响应,如何获得支持?

    当谈到数据库时 我们希望将管理它们的工作交给专业人士 这就是为什么我们选择 CloudSQL 第二代数据库实例形式的托管解决方案 今天实例停止响应 我单击了重新启动 它已经重新启动了几个小时并且没有响应 我尝试克隆实例 也没有响应 我不知道
  • Rails 3.2 和phonegap

    我当前正在运行一个rails应用程序 我想为其制作一个移动应用程序 我不想学习objective c或java 我读了很多关于phonegap的文章以及如何使用它来制作跨平台Web应用程序 Phonegap编译css htm js Rail
  • 如何在mvc4中区分连接等的调试和发布

    所以我对 MVC4 相当陌生 很多模式对我来说都是新的 然而 我好奇的一件事是关于发布 调试模式的最佳实践 对我来说 实时模式和调试模式之间有很多不同的事情 我希望所有这些都是自动的 这样我就不需要更改任何内容来发布 例如 我在我的存储库