小编Por*_*koi的帖子

区域中的子Web.config

我正在做一个庞大的MVC 4项目。我正在使用Area,它很棒。

但是,我想针对每个区域使用自定义Web.config。

例如,这是我的结构:

Root
Web.config
|
----Areas
--------MyArea_1
--------MyArea_2
----Web.config
Run Code Online (Sandbox Code Playgroud)

在我的根Web.config中,我具有所有连接。在我的Sub Web.config中,我想添加仅涉及Areas的“ appSettings”。

在我的子Web.config中,例如:

<appSettings>
    <add key="MyArea_1_Param1" value="1"/>
    <add key="MyArea_1_Param2" value="2"/>

    <add key="MyArea_2_Param1" value="1"/>
</appSettings>
Run Code Online (Sandbox Code Playgroud)

目前,我已将所有参数都放在根Web.config中。

如何在不同的Web.config之间建立链接?

------更新--------

我尝试将这段代码放在Sub Web.config中:

<?xml version="1.0" encoding="utf-8"?>
<location path="MyArea_1">
    <appSettings>
        <add key="MyArea_1_Param1" value="1"/>
        <add key="MyArea_1_Param2" value="2"/>
    </appSettings>
</location>
Run Code Online (Sandbox Code Playgroud)

AI将这个文件放在这里:

Root
Web.config
|
----Areas
--------MyArea_1
--------MyArea_2
----Web.config <- Here
Run Code Online (Sandbox Code Playgroud)

我已经在这里尝试:

Root
Web.config
|
----Areas
--------MyArea_1
------------Web.config
--------MyArea_2
Run Code Online (Sandbox Code Playgroud)

但是当我尝试读取键值“ MyArea_1_Param1”时,我仍然收到“ NullReferenceException”

我的代码读取键值:

ConfigurationManager.AppSettings["MyArea_1_Param1"].ToString()
Run Code Online (Sandbox Code Playgroud)

c# web-config asp.net-mvc-4

5
推荐指数
1
解决办法
7708
查看次数

C# SmtpClient.Send() 由于 BCC 而变慢

我正在使用“System.Net.Mail”在 C# 中的 Intranet 系统上发送电子邮件

Send() 方法非常慢,我不明白为什么。

调试后,我删除了 BCC 调用:(MM 是 MailMessage() 和 Item,字符串电子邮件地址):

MM.Bcc.Add(new MailAddress(Item));
Run Code Online (Sandbox Code Playgroud)

在我评论这一行之前,一封电子邮件大约花了 30 或 40 秒。现在,大约有2秒。为什么?

对此有解释吗?我可以添加“收件人”和“抄送”,而不会出现性能问题。但不是“密件抄送”。

c# performance bcc smtpclient

5
推荐指数
1
解决办法
2164
查看次数

Web.Config Debug/Release:不起作用

我在我的web.config中有这个

<add name="AS400" connectionString="Provider=IBMDA400;Data Source=AAAAA;User Id=aaaaaa;Password=aaaaaa;Default Collection=*SYS;" providerName="System.Data.OleDb" lockItem="true"/>
Run Code Online (Sandbox Code Playgroud)

在我的Web.Debug.config(与Webconfig相同)

 <add name="AS400" connectionString="Provider=IBMDA400;Data Source=AAAAA;User Id=aaaaaa;Password=aaaaaa;Default Collection=*SYS;" providerName="System.Data.OleDb" lockItem="true" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
Run Code Online (Sandbox Code Playgroud)

在我的Web.Release.config中

 <add name="AS400" connectionString="Provider=IBMDA400;Data Source=ZZZZZ;User Id=aaaaaa;Password=aaaaaa;Default Collection=*SYS;" providerName="System.Data.OleDb" lockItem="true"  xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
Run Code Online (Sandbox Code Playgroud)

但没有任何效果.如果我制作F5,在发布模式下,我总是在web.config中连接字符串.

一个主意?

c# debugging connection-string release web-config

4
推荐指数
1
解决办法
4760
查看次数

在我的BaseController构造函数中获取现有会话

在我的Global.asax中,我在Session_Start()中有这个代码:

UserIntranet user = new UserIntranet();
user.Login = this.Request.LogonUserIdentity.Name.Split('\\')[1];
Session["user"] = user as UserIntranet;
Run Code Online (Sandbox Code Playgroud)

在我的BaseController中,我有这个属性:

public UserIntranet UserIntranet
{
    get 
    {
       return Session["user"] as UserIntranet; 
    }
}
Run Code Online (Sandbox Code Playgroud)

它适用于所有使用此基本控制器但不在我的BaseController构造函数中的矿山控制器.

这个会议是空的......

在我的BaseController中尝试这个:

public BaseController()
{
    ViewBag.UserMenu = this.UserIntranet.Login;/* Null */
}
Run Code Online (Sandbox Code Playgroud)

为什么?如何让用户直接在我的BaseController中登录?有什么更好的方法?

c# asp.net-mvc session asp.net-mvc-controller

4
推荐指数
1
解决办法
7522
查看次数

在输入属性中使用管道

我正在使用UI框架:SmartAdmin

这提供了国际化功能 i18n

我正在尝试使用此Boostrap验证模块。

如果我这样说,那就行得通:

 <input type="text" class="form-control" name="firstname" data-bv-notempty="true" 
 data-bv-notempty-message="The first name is required and cannot be empty"
 data-bv-stringlength-max="50" data-bv-stringlength-message="The first name must be less than 50 characters long"/>
Run Code Online (Sandbox Code Playgroud)

但是我尝试使用管道:

<input type="text" class="form-control" name="firstname" data-bv-notempty="true" 
data-bv-notempty-message="{{'The first name is required and cannot be empty' | i18n}}"
data-bv-stringlength-max="50" data-bv-stringlength-message="The first name must be less than 50 characters long" />
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

无法绑定到“ data-bv-notempty-message”,因为它不是“ input”的已知属性。(“ ut type =” text“ class =” form-control“ name =”名字“ data-bv-notempty =” true“ [错误->] [data-bv-notempty-message] =”'必需的| | i18n“ …

angular

4
推荐指数
1
解决办法
2957
查看次数

PHP中的Try/Catch没有捕获异常

我试过这个例子:

<?php    
try {
    Not_Exist();
} catch (Exception $e) {
    echo 'Caught exception: ',  $e->getMessage(), "\n";
}
?>
Run Code Online (Sandbox Code Playgroud)

http://php.net/manual/en/language.exceptions.php 但是没有捕到错误:

致命错误:在第3行的C:\ Program Files(x86)\ EasyPHP-DevServer-14.1VC9\data\localweb\mysite\public_html\exception.php中调用未定义的函数Not_Exist()

为什么?我通常使用Dotnet.也许我想念一些东西.

php exception

0
推荐指数
1
解决办法
375
查看次数