select left(emailaddress, len(emailaddress) - charindex('@', emailaddress))
Run Code Online (Sandbox Code Playgroud)
我得到的结果如下:
foo@ma
Run Code Online (Sandbox Code Playgroud)
请更正下面的选择声明.我需要使用电子邮件地址的音调来执行此操作并仅提取用户名.
添加和删除处理程序有什么区别?
在我使用VS2008创建的新Web项目中,处理程序的定义如下:
<system.web>
...
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
<add verb="*" path="/hello/helloworld.xml" type="HandlerTest.HelloWorldHandler, HandlerTest"/>
</httpHandlers>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</httpModules>
</system.web>
Run Code Online (Sandbox Code Playgroud)
但是在预先存在的项目中(即:社区服务器),http处理程序的添加/删除如下:
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<security>
<requestFiltering allowDoubleEscaping="true"/>
</security>
<modules runAllManagedModulesForAllRequests="true">
<remove name="CommunityServer"/>
<remove name="ScriptModule"/>
<remove name="UrlRoutingModule"/>
<add name="CommunityServer" type="CommunityServer.CSHttpModule, CommunityServer.Components"/>
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add …Run Code Online (Sandbox Code Playgroud) 我不知道你们每次编写代码以及不同级别的测试时如何测试代码:单元测试,集成测试,......
例如,对于刚编写的函数的单元测试,你是否编写了另一组main函数和Makefile来测试它?或者您是否修改项目的主要功能以测试功能.或者你只是在调试下运行你的项目,并停止调用函数的位置并修改其参数的值?
我相信一定有一些方便和常见的方式,大多数人都在使用,只有我不知道.
我们当前的企业解决方案是由实体框架驱动的ASP.NET MVC应用程序.有几个关于如何挂钩变更事件以进行审计的链接.我对此并不感兴趣.
我对企业级审计架构感兴趣.那些有企业级战斗创伤的人,你的审计解决方案是什么?您是否在框架中序列化数据库中的对象.您是否正在为审计表设置数据库触发器?您是否一起使用单独的数据库,以便您的审计增长不会影响您的应用程序数据库?我对这里经过验证的真实解决方案感兴趣.我知道我们的技术选择(EF)有选择,但我首先对基金会感兴趣.
链接将非常感激.
假设您在subversion控件下有一个目录,其中包含一些文件和大量子目录,如下所示:
file1.txt
file2.txt
file3.txt
dir1/
dir2/
dir3/
dir4/
:
dirXX/
Run Code Online (Sandbox Code Playgroud)
现在你需要文件和一些目录,但不是全部.这可以通过SVN完成.只是使结账非递归:
svn checkout -N <URL>
Run Code Online (Sandbox Code Playgroud)
这只检出第一个目录和里面的文件.没有包含子目录.即使你进入checkout目录并运行" svn up",它只会更新之前检出的文件,它不会添加目录.您现在可以通过显式更新这些目录来有选择地添加所需的目录.例如,如果您只需要dir2和dir4,则可以进入结帐目录并执行
svn up dir2
svn up dir4
Run Code Online (Sandbox Code Playgroud)
如果您svn up将来运行通用" ",它将只更新文件和那两个目录,它不会添加任何其他目录.
现在的问题是:如果我以后再决定我不再需要dir2怎么办?我怎么摆脱它?似乎没有办法这样做,除了删除整个结帐并从头开始.
当你刚删除dir2时,下一个" svn up"将把它带回来,因为" svn status"当然显示它现在缺失("!"在它的名字前面).运行" svn remove"当然会将其删除,但在下一次提交时,它也会将其从存储库中删除,这不会发生.
即使是SVN 1.5的新稀疏目录("浅签出")功能也没用:
Subversion 1.5的浅层检查实现很好,但不支持一些有趣的行为.首先,您无法取消望远镜查看工作副本项目.在无限深度工作副本中运行svn update --set-depth empty将不会丢弃除最顶层目录之外的所有内容 - 它只会出错.
- http://svnbook.red-bean.com/en/1.5/svn.advanced.sparsedirs.html
这对SVN来说完全不可能吗?有没有人想出一个聪明的工作?
只需创建checkout目录(没有SVN),然后直接从存储库中检出单个子目录作为该目录的子目录将适用于目录:现在每个目录都是自己的结帐,可以更新,一旦不再需要,你可以删除它.但是,我如何获取文件(例如file1.txt)?SVN不允许签出单个文件,只能签出整个目录.
我需要从我的应用程序执行数据库还原.在此之前,我想杀死所有进程,如下所示:
private void KillAllProcessesOnSMARTDatabases(Server targetServer)
{
targetServer.KillAllProcesses(SMART_DB);
targetServer.KillAllProcesses(SMART_HISTORY_DB);
targetServer.KillAllProcesses(SMART_METADATA_DB);
SqlConnection.ClearAllPools();
}
Run Code Online (Sandbox Code Playgroud)
但是,当第一个KillAllProcesses运行时,我得到以下异常:
Microsoft.SqlServer.Management.Smo.FailedOperationException:删除Server'MYServer'的所有活动数据库连接失败.---> Microsoft.SqlServer.Management.Common.ExecutionFailureException:执行Transact-SQL语句或批处理时发生异常.---> System.Data.SqlClient.SqlException:只能杀死用户进程.
用于创建服务器的连接字符串具有sa凭据,但是,需要终止的进程是在其他用户下启动的.我测试了类似的场景,测试成功了.
这种情况最近才开始发生.对我来说,似乎有一些进程没有被用户启动?
我如何模拟DataServiceQuery以进行单元测试?
详细信息如下:想象一个ASP.NET MVC应用程序,其中控制器与ADO.NET DataService对话,封装了我们模型的存储(例如,我们将阅读Customers列表).通过对服务的引用,我们得到一个继承自DataServiceContext的生成类:
namespace Sample.Services
{
public partial class MyDataContext : global::System.Data.Services.Client.DataServiceContext
{
public MyDataContext(global::System.Uri serviceRoot) : base(serviceRoot) { /* ... */ }
public global::System.Data.Services.Client.DataServiceQuery<Customer> Customers
{
get
{
if((this._Customers==null))
{
this._Customers = base.CreateQuery<Customer>("Customers");
}
return this._Customers;
}
}
/* and many more members */
}
}
Run Code Online (Sandbox Code Playgroud)
财务主任可以是:
namespace Sample.Controllers
{
public class CustomerController : Controller
{
private IMyDataContext context;
public CustomerController(IMyDataContext context)
{
this.context=context;
}
public ActionResult Index() { return View(context.Customers); }
}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,我使用了一个接受IMyDataContext实例的构造函数,以便我们可以在单元测试中使用mock:
[TestFixture]
public class …Run Code Online (Sandbox Code Playgroud) c++ ×2
sql-server ×2
arrays ×1
asp.net ×1
asp.net-mvc ×1
audit ×1
c ×1
css ×1
dsoframer ×1
gdb ×1
httphandler ×1
mocking ×1
smo ×1
sql ×1
svn ×1
t-sql ×1
testing ×1
web-config ×1