我很想知道是否有可能在sql中创建一个条件非空约束?换句话说,可以创建一个约束,使得列B可以为空,因为列A包含让我们说"新",但如果列A的内容更改为其他内容,则不再允许列B为空?
为了扩展,只要列A表示"新",就可以使列B必须为空或为空?
谢谢大家:D
当从Cmd运行应用程序时直接调用exe,我对Console vs Windows Application有好奇心的问题.
如果应用程序编译为控制台应用程序(将其称为我的ConApp),则在通过cmd运行应用程序时,提示会等待应用程序完成运行,然后再继续.但是,如果应用程序已编译为Windows应用程序(将其称为我的WinApp),则通过cmd启动应用程序,提示将触发并忘记WinApp,可以理解这是预期的行为.
要让WinApp停止发送和忘记cmd,必须使用类似"start\wait WinApp.exe"的内容在cmd中启动应用程序,这将导致Cmd提示等待WinApp停止运行持续.
我的问题是控制台应用程序如何通知Cmd,或者Cmd如何知道它需要保持打开状态,而不是忘掉ConApp?是否有可能在我的WinApp中调用相同类型的行为,以便我不必调用"start\wait"?
注意:
我已经使用过AllocConsole和AttachConsole,但是当我在WinApp中使用AttachConsole(-1)时,Cmd仍然会忘记WinApp,但WinApp似乎只是打开一个新的控制台窗口.
我从来没有能够使这种格式的引用资源字典工作.我错过了什么
场景:
在其中创建和组装一些用户控件.
在root上有文件{root}
/Themes/ColorThemes.xaml.ColorThemes.xaml文件的构建操作设置为Resource.
然后在xaml文件中进一步向下说出{root} /Controls/ButtonStyles/Themes/ButtonThemes.xaml(注意路径只是一个例子)在这个文件中我有以下代码:
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/Themes/ColorThemes.xaml"/>
</ResourceDictionary.MergedDictionaries>
Run Code Online (Sandbox Code Playgroud)
至于文档声明这应该工作(据我所知),虽然我在设计师看起来很好(所有颜色加载等)然而当我然后去编译我的应用程序并运行它我得到这个错误{"无法找到资源'themes/colorthemes.xaml'."}这很奇怪,因为它似乎在构建器中使用得很好.所以我很安静,因为它似乎与文档不一致.
所以如果有人能向我解释我错过了什么:)
注意:如果我将以前的代码更改为
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="../../../Themes/ColorThemes.xaml"/>
</ResourceDictionary.MergedDictionaries>
Run Code Online (Sandbox Code Playgroud)
它工作正常,但对于cleanese pack://应用程序:.
我只是想尝试使用WCF,如果有人能告诉我我是否对端点有正确的想法,我就会徘徊.
我一直在处理msdn上的视频,现在我正在徘徊配置WCF服务的方式.场景是如果我有多个IServices,例如我有一个IThis和IThat,并且客户端需要访问权限(注意:他们将使用net.tcp),
它处理数据库查询,
IThat处理独立于数据库的计算,
我假设我必须为IThis和IThat定义单独的端点,这些端点在客户端中单独引用.或者我是否会创建一个在客户端中引用并包含两者功能的整体IThisAndThat服务?
或者是使用多个IServices开发和处理WCF服务的其他方法?虽然我问你能为tcp定义基地址还是只定义http?
〜谢谢大家,任何帮助或指针都会很棒.
嗨,如果有人能向我解释这两种从控制器返回数据的方法之间的区别,我就会徘徊.使用方法优于另一方是否有优势或理由?
我猜测返回的功能只是Response.WriteAsync
进一步调用,但我不确定.
使用邮递员这两种方法都返回完全相同的响应,所以我只是对这两个选项感到好奇,是否有理由使用其中一个或仅仅是个人偏好.
在Response.WriteAsync之间:
[HttpGet("Fetch_WriteAsync")]
public async Task Fetch_AsyncWrite()
{
HttpContext.Response.ContentType = "application/json";
await HttpContext.Response.WriteAsync(JsonConvert.SerializeObject(new { data = "my_fetched_data" }));
}
Run Code Online (Sandbox Code Playgroud)
然后回来:
[HttpGet("Fetch_Return")]
public async Task<string> Fetch_Return()
{
HttpContext.Response.ContentType = "application/json";
return await Task.Factory.StartNew(()=>JsonConvert.SerializeObject(new { data = "my_fetched_data" }));
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个存储过程,但收到此错误:
消息 208,级别 16,状态 6,过程 SP_MergeStaggedPoliticalPartyAgents,第 1 行 [批处理开始第 0 行]
对象名称“SP_MergeStaggedPoliticalPartyAgents”无效。
SQL如下,减去内容
CREATE OR ALTER PROCEDURE SP_MergeStagedPoliticalPartyAgents
AS
BEGIN
-- Content removed for brevity
END
Run Code Online (Sandbox Code Playgroud)
如果我无论如何改变名称,即添加额外的 s,或删除末尾的 s。它工作 100% 正常,所以我的问题是我使用的这个特定名称是什么导致它失败?
SQL Server 是否有该名称违反的名称验证正则表达式?这是一个保留名称吗?
IMO 更奇怪的补充:为了测试我是否去:
CREATE PROCEDURE SP_MergeStagedPoliticalPartyAgents
AS
BEGIN
-- Content removed for brevity
END
Run Code Online (Sandbox Code Playgroud)
它运行良好并在此基础上创建存储过程,从那时起该CREATE OR ALTER PROCEDURE SP_MergeStagedPoliticalPartyAgents
语句就可以正常工作。
似乎不存在具有此名称的存储过程,它将失败,但如果第一次初始化它,则会CREATE OR ALTER PROCEDURE SP_MergeStagedPoliticalPartyAgents
传递。CREATE SP_MergeStagedPoliticalPartyAgents
笔记:
select * from table
问题仍然存在。
我一直在看这篇关于在C#中使用任务的文章,如果有人可以为我清理一些东西,我就会徘徊?
不调用等待任务会失败创建任务的目的,因为它不会冻结主线程,因为现在主线程必须等待任务完成.
我假设不会立即调用等待,所以现在你什么时候打电话或者你怎么知道什么时候处理这个任务.假设我们有一个这样的简单案例:
void MyFunction()
{
Task t = Task.Factory.StartNew(() => { System.Threading.Thread.Sleep(5000); });
}
Run Code Online (Sandbox Code Playgroud)
如果你直接调用t.Wait(),主线程仍然会等待5秒才能做其他任何事情,从用户的角度来看,这有点失败,他们将无法做任何事情,持续5秒.你怎么知道5秒后任务完成了?你可以处理t?处理这个问题的正确方法是什么?
对不起,如果问题真的很天真:(谢谢大家:D
如果有人能向我解释如何让我的程序在启动时运行,我就会徘徊?我的程序是一个C#WCF,它有一个小的WPF UI,必须在服务器上运行,我需要确保程序将在服务器重新启动时或其他任何原因启动.
我看了一下,似乎我必须使用注册表项,但我不熟悉如何使用注册表项,有人可以向我解释如何使用它.我正在使用VS2010创建一个安装程序,我想在安装时设置注册表项:)
PS我不希望应用程序成为Windows服务,我不能只将它放在用户的启动文件夹中(如果服务器重新启动并且没有人登录会导致什么?)
我找不到任何关于此的细节,但我遇到的问题是,如果Validate调用在任何子属性上失败,则不会调用父对象的Validate函数.简单场景如下:
public class Child : IValidateObject
{
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{ ... }
}
public class Parent : IValidatableObject
{
public Child Child { get; set;}
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{ ... }
}
Run Code Online (Sandbox Code Playgroud)
如果子级中的验证失败,则父级的Validate函数不会被调用,因此您最终必须首先解决所有子问题然后提交,然后才会看到父级的所有验证失败.
如果有人可以帮助我理解为什么会这样,或者指出一些有关这方面的文件会很棒.
public void SynchronousFunction(/* some input */) { /* some synchronous operation */}
// VS
public Task SynchronousFunction(/* some input */)
{
/* some synchronous operation */
return Task.CompletedTask
}
// VS Variation of Task return function
public Task SynchronousFunction(/* some input */)
{
return Task.Run(() => /* some synchronous operation */
}
Run Code Online (Sandbox Code Playgroud)
我的观点有两点。首先,感觉返回任务需要一些不必要的装箱和拆箱,其次,如果在某些同步代码中调用该函数,则不需要使用 .Wait() 或类似的东西来调用。
c# ×6
asp.net-core ×2
sql ×2
wcf ×2
.net ×1
cmd ×1
constraints ×1
notnull ×1
registrykey ×1
startup ×1
task ×1
wcf-endpoint ×1
wpf ×1