小编Ric*_*ard的帖子

使用Start-Process和WaitForExit而不是-Wait获取ExitCode

我正在尝试从PowerShell运行程序,等待退出,然后访问ExitCode,但我没有太多运气.我不希望使用-WaitStart-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)

运行此脚本将导致启动记事本.手动关闭后,将打印退出代码,它将重新开始,不使用 …

powershell powershell-2.0

61
推荐指数
5
解决办法
11万
查看次数

EF5迁移更新 - 数据库 - 脚本错误

我一直在使用带有试用许可证的Visual Studio 2012 RC,没有任何问题.我昨天购买了Visual Studio 2012 Professional,安装了最新版本,并安装了Update 1.

我有一个我已经工作多年的解决方案/项目.它有许多迁移.我跑了第一个add-migration TableX_NewFieldupdate-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检查更新.重新启动了我的电脑.仍然有错误.

entity-framework ef-migrations entity-framework-5

43
推荐指数
1
解决办法
8334
查看次数

SQL Server 2008 IIF语句似乎未启用

我想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()工作?有什么关于我缺少的语法吗?我的测试很简单,但仍然会出现语法错误.

任何帮助,将不胜感激.非常感谢!

sql sql-server sql-server-2008 sql-server-2008-r2

35
推荐指数
3
解决办法
7万
查看次数

如何将字符串转换为System.Net.IPAddress

如何将字符串转换为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)

.net c# ip-address

13
推荐指数
3
解决办法
4万
查看次数

淘汰js最佳实践ajax错误处理

当ajax json响应变坏时,你使用了Knockout js的最佳实践.

如何创建映射以显示用户发生的错误?如何更改Knockout js中表单的绑定以容纳错误?

我发送了一个响应对象{response:"success",data:{}},这意味着有3个级别的错误:

  1. 模型错误("失败"的json对象响应,包含哪些字段错误的模型数据)
  2. 服务器错误(服务器无响应)
  3. 服务器响应错误代码

还没有想出一个干净的viewmodel显示错误信息的方式,这就是我要问的原因.

ajax knockout.js

12
推荐指数
2
解决办法
5550
查看次数

Web API中的依赖关系注入验证

在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来保持这一点),这意味着我无法从控制器的构造函数注入中获得任何帮助.

c# dependency-injection fluentvalidation asp.net-web-api

12
推荐指数
2
解决办法
7989
查看次数

将JSON反序列化为多个属性

我正在针对返回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),但我希望能够实现此序列化.我不介意它是否正在使用我开始使用的方法,或者我还没有想到的方法.

这个问题也有关系,但没有答案.

c# json json.net

12
推荐指数
2
解决办法
6730
查看次数

实体框架中多个记录的插入顺序

当我尝试同时添加一个包含多个子节点的实体时,我在使用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)

entity-framework entity-framework-5

11
推荐指数
2
解决办法
6540
查看次数

可选实体框架复杂类型的必需属性

我想[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.

entity-framework entity-framework-5

10
推荐指数
1
解决办法
3019
查看次数

如何在EF Core中查询多对多关系

我正在使用.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

10
推荐指数
3
解决办法
7641
查看次数