我正在尝试从PowerShell运行程序,等待退出,然后访问ExitCode,但我没有太多运气.我不希望使用-Wait
与Start-Process
,因为我需要一些处理在后台进行.
这是一个简化的测试脚本:
cd "C:\Windows"
# ExitCode is available when using -Wait...
Write-Host "Starting Notepad with -Wait - return code will be available"
$process = (Start-Process -FilePath "notepad.exe" -PassThru -Wait)
Write-Host "Process finished with return code: " $process.ExitCode
# ExitCode is not available when waiting separately
Write-Host "Starting Notepad without -Wait - return code will NOT be available"
$process = (Start-Process -FilePath "notepad.exe" -PassThru)
$process.WaitForExit()
Write-Host "Process exit code should be here: " $process.ExitCode
Run Code Online (Sandbox Code Playgroud)
运行此脚本将导致启动记事本.手动关闭后,将打印退出代码,它将重新开始,不使用 …
我一直在使用带有试用许可证的Visual Studio 2012 RC,没有任何问题.我昨天购买了Visual Studio 2012 Professional,安装了最新版本,并安装了Update 1.
我有一个我已经工作多年的解决方案/项目.它有许多迁移.我跑了第一个add-migration TableX_NewField
和update-database -sourcemigration:TableX_PreviousNewField
最新版本.
他们都跑了没有问题.
然后我跑了update-database -script -sourcemigration:TableX_PreviousNewField
并收到以下内容:
PM> update-database -script -sourcemigration:TableX_PreviousNewField
Applying code-based migrations: [201301151003149_TableX_NewField].
Applying code-based migration: 201301151003149_TableX_NewField.
System.Runtime.InteropServices.COMException (0x8004000C): User canceled out of save dialog (Exception from HRESULT: 0x8004000C (OLE_E_PROMPTSAVECANCELLED))
at EnvDTE.ItemOperations.OpenFile(String FileName, String ViewKind)
at System.Data.Entity.Migrations.Utilities.DomainDispatcher.OpenFile(String fileName)
at System.Data.Entity.Migrations.Utilities.DomainDispatcher.OpenFile(String fileName)
at System.Data.Entity.Migrations.Extensions.ProjectExtensions.NewSqlFile(Project project, String contents)
at System.Data.Entity.Migrations.UpdateDatabaseCommand.<>c__DisplayClass2.<.ctor>b__0()
at System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action command)
User canceled out of save dialog (Exception from HRESULT: 0x8004000C (OLE_E_PROMPTSAVECANCELLED))
Run Code Online (Sandbox Code Playgroud)
我已经运行了Windows更新.使用NuGet检查更新.重新启动了我的电脑.仍然有错误.
我想IIF()
在select语句中使用.布尔表达式检查字段值是否等于空字符串.语法是这样的:
SELECT IIF(field = '','ONe action','Another')
Run Code Online (Sandbox Code Playgroud)
我收到错误"语法错误接近="
我尝试了一个简单的测试:
SELECT IIF(2 > 1, 'yes','no')
Run Code Online (Sandbox Code Playgroud)
我正在接受 "syntax errror near >"
这让我相信这IIF
根本不起作用.
我正在使用SQL SERVER 2008 R2,是否需要配置一些东西以允许IIF()工作?有什么关于我缺少的语法吗?我的测试很简单,但仍然会出现语法错误.
任何帮助,将不胜感激.非常感谢!
如何将字符串转换为System.Net,C#/.net 3.5中的IPAddress
我试过这个,但我收到此错误"无法将类型'字符串'转换为'System.Net.IPAddress'"
public void Form1_Load(object sender, EventArgs e)
{
IPHostEntry host;
string localIP = "?";
host = Dns.GetHostEntry(Dns.GetHostName());
foreach (IPAddress ip in File.ReadAllLines("proxy.txt"))
{
if (ip.AddressFamily.ToString() == "InterNetwork")
{
localIP = ip.ToString();
textBox1.Text = ip.ToString();
}
}
}
Run Code Online (Sandbox Code Playgroud) 当ajax json响应变坏时,你使用了Knockout js的最佳实践.
如何创建映射以显示用户发生的错误?如何更改Knockout js中表单的绑定以容纳错误?
我发送了一个响应对象{response:"success",data:{}},这意味着有3个级别的错误:
还没有想出一个干净的viewmodel显示错误信息的方式,这就是我要问的原因.
在MVC中,我可以创建一个可以采用依赖关系的模型验证器.我通常使用FluentValidation.例如,这允许我检查帐户注册是否未使用电子邮件地址(注意:这是一个简化的示例!):
public class RegisterModelValidator : AbstractValidator<RegisterModel> {
private readonly MyContext _context;
public RegisterModelValidator(MyContext context) {
_context = context;
}
public override ValidationResult Validate(ValidationContext<RegisterModel> context) {
var result = base.Validate(context);
if (context.Accounts.Any(acc => acc.Email == context.InstanceToValidate.Email)){
result.Errors.Add(new ValidationFailure("Email", "Email has been used"));
}
return result;
}
}
Run Code Online (Sandbox Code Playgroud)
使用FluentValidation的Web API不存在此类集成.已经有夫妇的尝试,在这一点,但也没有解决的依赖注入方面,只有静态验证工作.
这很困难的原因是由于MVC和Web API之间的ModelValidatorProvider和ModelValidator的实现不同.在MVC中,这些是按请求实例化的(因此注入上下文很容易).在Web API中,它们是静态的,ModelValidatorProvider为每种类型维护ModelValidators的缓存,以避免对每个请求进行不必要的反射查找.
我一直试图自己添加必要的集成,但一直试图获得依赖范围.相反,我想我会退后一步,询问是否还有其他问题的解决方案 - 如果有人提出了执行模型验证的解决方案,可以注入依赖关系.
我不想在Controller中执行验证(我使用ValidationActionFilter来保持这一点),这意味着我无法从控制器的构造函数注入中获得任何帮助.
我正在针对返回JSON数据的第三方API编程,但格式可能有点奇怪.某些属性可以是对象(包含Id属性),也可以是字符串(对象的Id).例如,以下两个都是有效的:
{
ChildObject: 'childobjectkey1'
}
Run Code Online (Sandbox Code Playgroud)
和
{
ChildObject: {
Id: 'childobjectkey1',
// (other properties)
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用JSON.net将其反序列化为强类型类,但到目前为止还没有太多运气.我最好的想法是将它序列化为两个属性,一个是字符串,另一个是对象,并为每个属性使用自定义JsonConverter来允许变量行为:
public abstract class BaseEntity
{
public string Id { get; set; }
}
public class ChildObject : BaseEntity { }
public class MyObject
{
[JsonProperty("ChildObject")]
[JsonConverter(typeof(MyCustomIdConverter))]
public string ChildObjectId { get; set; }
[JsonProperty("ChildObject")]
[JsonConverter(typeof(MyCustomObjectConverter))]
public ChildObject ChildObject { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
但是,JsonProperty
在具有相同PropertyName的两个属性上设置属性会导致异常:
Newtonsoft.Json.JsonSerializationException:'.....'上已存在名为'ChildObject'的成员.使用JsonPropertyAttribute指定其他名称.
我很确定如果我可以克服这个障碍,JsonConverter方法将会起作用 - 我怀疑错误是存在的,因为JsonProperty属性用于序列化以及反序列化.在这个例子中,我对序列化这个类没兴趣 - 它只会被用作反序列化的目标.
我无法控制远程端(它是第三方API),但我希望能够实现此序列化.我不介意它是否正在使用我开始使用的方法,或者我还没有想到的方法.
这个问题也有关系,但没有答案.
当我尝试同时添加一个包含多个子节点的实体时,我在使用EF重新排序插件时遇到问题.我有一个3级结构,每个(Outer 1--* Item 1--* SubItem
)之间有一对多的关系.如果我尝试插入带有Items和Subitems的新Outer,则包含SubItems的Items最终会被插入.
示例代码(.NET 4.5,EF 5.0.0-rc):
public class Outer
{
public int OuterId { get; set; }
public virtual IList<Item> Items { get; set; }
}
public class Item
{
public int OuterId { get; set; }
[ForeignKey("OuterId")]
public virtual Outer Outer { get; set; }
public int ItemId { get; set; }
public int Number { get; set; }
public virtual IList<SubItem> SubItems { get; set; }
}
public class SubItem
{
public int SubItemId …
Run Code Online (Sandbox Code Playgroud) 我想[Required]
在Entity Framework中的复杂类型上定义属性.例如,我有一个Customer
可选的实体Address
.Address实体具有必需PostCode
属性.
[ComplexType]
public class Address {
public string Address1 { get; set; }
[Required]
public string PostCode { get; set; }
}
public class Customer {
public int CustomerId {get;set;}
public Address Address {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我不想将我的Complex类型存储为一个单独的实体(我实际上并没有使用Address,这只是一个简单的问题说明).我不能将Customer.Address留空,因为这会给出错误:
非可空成员的空值.成员:'地址'.
如果我提供一个空的Address实体,由于Required属性,验证在PostCode字段上失败.
有没有办法实现这个目标?我正在使用EF5/NET4.5.
我正在使用.NET Core和EF Core进行Web项目.我正在努力如何查询多对多的关系.这就是我的模型:
public class Begrip
{
public int ID { get; set; }
public string Name { get; set; }
public string Desc { get; set; }
[Url]
public string URL { get; set; }
public ICollection<BegripCategory> Categories { get; set; }
}
public class Category
{
public int ID { get; set; }
public string Name { get; set; }
public ICollection<BegripCategory> Begrippen { get; set; }
}
public class BegripCategory
{
public int begripId { get; set; …
Run Code Online (Sandbox Code Playgroud) c# asp.net-mvc entity-framework entity-framework-core asp.net-core
c# ×4
.net ×1
ajax ×1
asp.net-core ×1
asp.net-mvc ×1
ip-address ×1
json ×1
json.net ×1
knockout.js ×1
powershell ×1
sql ×1
sql-server ×1