是否可以将applicationSettings移动到另一个配置文件,因为可以使用connectionStrings或appSettings?
当我使用设计器为我的Web应用程序创建设置时,我在web.config中获取了applicationSettings部分,例如:
<applicationSettings>
<TestWebApplication.Properties.Settings>
<setting name="AnotherSetting" serializeAs="String">
<value>Another setting value</value>
</setting>
</TestWebApplication.Properties.Settings>
</applicationSettings>
Run Code Online (Sandbox Code Playgroud)
我希望能够将它们移动到另一个文件,如appSettings:
<appSettings configSource="config\appsettings.config"/>
Run Code Online (Sandbox Code Playgroud)
我正在使用一个项目,该项目通过使用设计器和web.config生成的类访问了很多设置,在多个环境之间很难维护.如果我可以强制Settings类使用appSettings而不是applicationSettings会更好.
可能吗?
在此先感谢您的帮助.
我在c#中寻找一个开源的asp.net(最好是.net 2.0)项目.无论是某种商店还是cms或其他任何东西都没关系.重要的是项目的大小必须至少是中等规模(不是一个开发人员在2周内完成的简单应用程序),如果项目包含单元测试和某种案例研究,那将是一个很大的优势. .
我想将这个项目用作学习源.我知道有很多关于asp.net的书籍和网络资源,但我想看看如何实施更大的项目.我特别感兴趣的是对应用程序的某些部分的用户权限的实现,html和应用程序逻辑之间的分离,我想看看开发人员是否使用.net web控件或编写自己的自定义控件.
提前致谢.
我试图用波兰语中的pangram删除变音字符.我使用Michael Kaplan的博客http://www.siao2.com/2007/05/14/2629747.aspx中的代码,但没有成功.
考虑一下pangram:"Pchnąćwtęłódźjeżalubośmskrzyńfig.".一切正常,但对于字母"ł",我仍然得到"ł".我想问题是"ł"表示为单个unicode字符,并且没有跟随NonSpacingMark.
你知道我怎么能解决它(不依赖于某些词典中的自定义映射 - 我正在寻找某种unicode转换)?
我正在使用NHibernate并寻找一种解决方案,允许我审核实体中所有字段的更改.我希望能够为每个实体创建一个历史表,即Users - > UsersHistory,它将具有与Users表相同的结构以及其他字段,例如操作类型(更新,删除),进行更改的用户的用户ID等.我不想为每个实体定义这样的类.我正在寻找类似History<T>(即History<User>)的东西,因为这些条目不属于我的域,只会用于准备对实体所做的更改列表.我还认为在代码中创建对这些表的插入更好,而不是创建sql触发器.基本上,我只需要在更新或删除时在历史表中创建记录副本,我希望NHibernate生成插入.我还需要从历史表中读取记录 - 正如我所说,这些表将包含实体字段和一些常见的历史字段.
我找不到有关如何创建此类解决方案的指导.我所能找到的只是添加UserModified,UpdatedTimestamp等,如果我已经在实体上有这样的字段.但是,我需要实体的完整历史记录,而不仅仅是最后更改条目的信息.
在此先感谢您的帮助.
我有继承和泛型的问题.这是解释我的问题的代码:
namespace TestApplication
{
public class MyClass<T>
{
private T field;
public MyClass(T field)
{
this.field = field;
}
}
public class MyIntClass : MyClass<int>
{
public MyIntClass(int field)
: base(field)
{
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试做这样的事情时:
MyClass<int> sth = new MyClass<int>(10);
MyIntClass intsth = (MyIntClass) sth;
Run Code Online (Sandbox Code Playgroud)
我收到强制转换异常:无效的强制转换异常.无法将'TestApplication.MyClass`1 [System.Int32]'强制转换为'TestApplication.MyIntClass'.
更有甚者,我无法创建强制转换运算符:
public static implicit operator MyIntClass(MyClass<int> myClass)
Run Code Online (Sandbox Code Playgroud)
因为:'TestApplication.MyIntClass.implicit运算符TestApplication.MyIntClass(TestApplication.MyClass)':不允许在基类之间进行用户定义的转换
我需要创建如上所述的强制转换.我不知道为什么我不能从基类类型转换.我怎么解决这个问题?提前致谢.
编辑
谢谢你的回答.现在我看到我无法从基类转换为派生类,我发现它与泛型没有任何关系.但为什么我不能从基类创建用户定义的转换?我有一个返回基类的方法.我能够定义转换方法,但创建一个转换操作符imho将是一个更好的解决方案.
我想问一下你对大型数据库进行单元测试的建议.
我想为一个主要在T-SQL中实现的应用程序编写单元测试,因此不能选择模拟数据库.数据库非常大(大约10GB),因此在测试运行后恢复数据库实际上也是不可能的.
该应用程序的目的是管理信用协议申请的处理.有特定角色的用户可以更改agreement对象的状态,我的工作是测试此过程的一部分.
我正在考虑两种方法:
创建符合特定条件的协议,然后测试协议状态的更改(例如,从在某个办公室等待到在此特定办公室处理的过渡).协议将在应用程序本身中创建,它们将成为我的测试用例.所有测试都将在执行这些测试后回滚的事务中.
好处这种方法的优点是非常简单的测试.可以很容易地描述预期的数据,因为我确切地知道在转换之后对象应该是什么样子.
缺点缺点是数据库不能以破坏测试的方式改变.测试用例中使用的用户和协议必须始终相同,如果需要更改数据库,则必须重复准备过程.
在单元测试中创建协议.以编程方式创建符合特定条件的协议.用于创建协议的数据将随机选择.此外,将随机创建将更改协议状态的用户.
好处这种方法的优点是易于对对象进行更改,并且能够在具有不同数据的数据库上运行测试.
缺点两个对象(协议和用户)都有很多字段和相关数据,我担心实现这些对象的创建需要一些时间(我也害怕这些对象可能包含一些错误,因为创建方法会相当很难实现没有错误).
您如何看待这两种方法?
任何Stack Overflow读者都认为按照第二种方法描述创建对象是否值得?
这里有没有人有创建此类测试的经验?
我在SQL Server 2008上的SELECT/UPDATE上遇到了死锁问题.我从这个帖子中读到了答案:SQL Server在select/update或多个选择之间出现死锁,但我仍然不明白为什么会出现死锁.
我在以下测试用例中重新创建了这种情况.
我有一张桌子:
CREATE TABLE [dbo].[SessionTest](
[SessionId] UNIQUEIDENTIFIER ROWGUIDCOL NOT NULL,
[ExpirationTime] DATETIME NOT NULL,
CONSTRAINT [PK_SessionTest] PRIMARY KEY CLUSTERED (
[SessionId] ASC
) WITH (
PAD_INDEX = OFF,
STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON
) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[SessionTest]
ADD CONSTRAINT [DF_SessionTest_SessionId]
DEFAULT (NEWID()) FOR [SessionId]
GO
Run Code Online (Sandbox Code Playgroud)
我首先尝试从此表中选择一条记录,如果记录存在,则将到期时间设置为当前时间加上一些间隔.它使用以下代码完成:
protected Guid? GetSessionById(Guid sessionId, SqlConnection connection, SqlTransaction transaction)
{
Logger.LogInfo("Getting session by id");
using (SqlCommand …Run Code Online (Sandbox Code Playgroud) C#编译器需要最后指定new()约束.根据MSDN:
与其他约束一起使用时,必须最后指定new()约束.
为什么会有这样的限制?
我有一个核心 Android 库,我在其中定义了接口数量及其默认实现。所有这些都由 CoreComponent 中定义的 CoreModule 公开。
核心模块
@Module
public class CoreModule {
@Provides
public IAuthenticationViewExtension provideToolsViewExtension() {
return new AuthenticationViewExtension();
}
@Provides
public ISettingsViewExtension provideISettingsViewExtension() {
return new SettingsViewExtension();
}
}
Run Code Online (Sandbox Code Playgroud)
核心组件
@Component( modules = {CoreModule.class})
public interface CoreComponent {
CoreComponent coreComponent();
void inject(BaseLauncher baseLauncher);
ISettingsViewExtension iSettingsViewExtension();
}
Run Code Online (Sandbox Code Playgroud)
所有的实现都只注入到核心库中。
还有一个依赖于 Core 库的 Ui 库。此外,Ui 库可以为 Core 库中定义的一些接口提供自定义实现。
??? Ui Library
??? Core Library
??? Core Library
Run Code Online (Sandbox Code Playgroud)
为了实现目标,我在 Ui 库中创建了自定义 @component 和 @module
@Component(dependencies = {UiComponent.class},
modules = {UiModule.class})
public …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用经典临时表对 Microsoft SQL Server 2016 中的内存优化表进行基准测试。
SQL Server 版本:
Microsoft SQL Server 2016 (SP2) (KB4052908) - 13.0.5026.0 (X64) Mar 18 2018 09:11:49
Copyright (c) Microsoft Corporation
Developer Edition (64-bit) on Windows 10 Enterprise 10.0 <X64> (Build 17134: ) (Hypervisor)
Run Code Online (Sandbox Code Playgroud)
我正在遵循此处描述的步骤:https : //docs.microsoft.com/en-us/sql/relational-databases/in-memory-oltp/faster-temp-table-and-table-variable-by-using-内存优化?view=sql-server-ver15。
CrudTest_TempTable 1000, 100, 100
go 1000
Run Code Online (Sandbox Code Playgroud)
相对
CrudTest_memopt_hash 1000, 100, 100
go 1000
Run Code Online (Sandbox Code Playgroud)
这个测试有什么作用?
并且这样重复了 1000 次。
第一个使用经典临时表的存储过程大约需要 6 秒才能运行。
第二个存储过程至少需要 15 秒,并且通常会出错:
开始执行循环
消息 3998,级别 16,状态 1,第 3
行在批处理结束时检测到不可提交的事务。事务回滚。 …
c# ×5
.net ×3
asp.net ×2
generics ×2
android ×1
casting ×1
constraints ×1
dagger-2 ×1
database ×1
deadlock ×1
diacritics ×1
hibernate ×1
inheritance ×1
isolation ×1
java ×1
nhibernate ×1
open-source ×1
performance ×1
polish ×1
settings ×1
sql-server ×1
tdd ×1
transactions ×1
unicode ×1
unit-testing ×1
web-config ×1