如何web.config
使用C#以编程方式修改/操作?我可以使用配置对象,如果是,我如何加载web.config
到配置对象中?我想有一个完整的例子来改变连接字符串.修改后web.config
应该写回硬盘.
我正在尝试在我的web.config文件(Visual Studio 2008/ASP.NET 3.5)中将连接字符串设置为本地服务器(SQL Server 2008).
在我的web.config中,我如何以及在何处放置连接字符串?
以下是web.config文件现在的样子:http://imwired.net/aspnet/Online_web.config
我们有几个.NET项目,我们在配置文件中存储某些设置.现在每个开发人员都有自己的配置文件,这些配置文件略有不同(连接到本地数据库的不同连接字符串,不同的WCF端点等)
目前我们倾向于检查app/web.config文件并修改它们以满足我们的需求.这会导致许多问题,因为从tfs获取最新版本时,有时会有人检查自己的设置或松散自定义配置.
我的问题是:你如何处理这样的情况?或者你根本没有这个问题?
在我的web.config中,我想为access-control-allow-origin指令指定多个域.我不想用*.我试过这个语法:
<add name="Access-Control-Allow-Origin" value="http://localhost:1506, http://localhost:1502" />
Run Code Online (Sandbox Code Playgroud)
这个
<add name="Access-Control-Allow-Origin" value="http://localhost:1506 http://localhost:1502" />
Run Code Online (Sandbox Code Playgroud)
这个
<add name="Access-Control-Allow-Origin" value="http://localhost:1506; http://localhost:1502" />
Run Code Online (Sandbox Code Playgroud)
还有这个
<add name="Access-Control-Allow-Origin" value="http://localhost:1506" />
<add name="Access-Control-Allow-Origin" value="http://localhost:1502" />
Run Code Online (Sandbox Code Playgroud)
但它们都不起作用.什么是正确的语法?
是否可以在app.config
或web.config
文件中执行以下操作?
<appSettings>
<add key="MyBaseDir" value="C:\MyBase" />
<add key="Dir1" value="[MyBaseDir]\Dir1"/>
<add key="Dir2" value="[MyBaseDir]\Dir2"/>
</appSettings>
Run Code Online (Sandbox Code Playgroud)
然后我想在我的代码中访问Dir2,只需说:
ConfigurationManager.AppSettings["Dir2"]
Run Code Online (Sandbox Code Playgroud)
当我在不同的服务器和位置安装我的应用程序时,这将帮助我,我将只需要更改我的整个条目app.config
.(我知道我可以管理代码中的所有连接,但我更喜欢这种方式).
我开始在ASP.NET中再次开发,我在Visual Studio中遇到了一个小错误.使用一些剃刀功能时,我的.cshtml文件显示错误.例如,"当前上下文中不存在名称'ViewBag'".这是一张图片:
我正在使用一个演示项目.你可以在这里找到这个项目:https://github.com/Wintellect/Angular-MVC-Cookbook/tree/master/BasicProject
我查看了其他几个线程,大多数建议更新web.config文件.这两个配置文件已经存在,因为它是一个非常流行的演示,我认为它具有所有必需的配置.我当然查看了这些配置文件,确实包含了建议的解决方案.
其他详情:
提前致谢.
我的XML看起来像这样,文件名是 web.config
<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="configFile" value="IIS.config"/>
<add key="RialtoDomain" value="ASNC_AUDITORS"/>
</appSettings>
<system.serviceModel>
....
</system.serviceModel>
</configuration>
Run Code Online (Sandbox Code Playgroud)
在我读这样的代码中
String path = ConfigurationSettings.AppSettings["configFile"];
Run Code Online (Sandbox Code Playgroud)
我得到一个空值.没有异常被抛出.这是正确的方法吗?
我在我的解决方案中添加了一个现有的ASP.Net Web应用程序项目.除了标准的调试和发布配置,该解决方案还有两个自定义配置,SAT和UAT.对于新的Web应用程序,右键单击Web.Config显示上下文菜单,但"添加配置转换"选项显示为灰色.
我不知所措.新项目是一个Web应用程序.Configuration Manager不显示此项目的两个自定义配置,但它适用于其他项目.项目似乎在解决方案文件中具有正确的条目.
思考?
我对如何在运行时修改web.config appSettings值感到困惑.例如,我有这个appSettings部分:
<appSettings>
<add key="productspagedesc" value="TODO: Edit this default message" />
<add key="servicespagedesc" value="TODO: Edit this default message" />
<add key="contactspagedesc" value="TODO: Edit this default message" />
<add key="aboutpagedesc" value="TODO: Edit this default message" />
<add key="homepagedesc" value="TODO: Edit this default message" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)
比方说,我想在运行时修改"homepagedesc"键.我尝试了ConfigurationManager和WebConfigurationManager静态类,但设置是"只读".如何在运行时修改appSettings值?
更新:好的,所以我在这里5年后.我想指出经验告诉我,我们不应该在web.config文件中放置任何故意在运行时可编辑的配置,而是应该将它放在一个单独的XML文件中,就像下面的用户之一所述.这将不需要任何编辑web.config文件来重新启动应用程序,这将导致愤怒的用户呼叫您.
web-config ×10
asp.net ×6
c# ×6
app-config ×2
.net ×1
asp.net-mvc ×1
connection ×1
cors ×1
iis ×1
razor ×1
runtime ×1
transform ×1
variables ×1