小编ste*_*776的帖子

C#格式时间"On The Hour"

嘿家伙我需要将DateTime对象的时间格式化为字符串...捕捉是......如果时间是"在小时",如在上午12:00,晚上8:00,我需要修剪零和显示12AM或8PM ......

是否有一种简单的方法可以做到这一点,我错过了?

c# asp.net datetime

5
推荐指数
1
解决办法
935
查看次数

asp.net mvc 3可变长度可编辑列表

嘿伙计们,按照这篇文章和它链接到的其他帖子,我已经成功构建了一个带有可变legnth可编辑列表的页面.

现在,我需要做另一个具有类似功能的页面,但更进一步.基本上我需要像我已经完成的那样创建一个可变长度的对象列表,但在这种情况下,列表中的每个对象都需要有自己的可变长度可编辑子列表.

我可以毫无问题地构建视图,但我想我是如何在POST控制器方法中处理这个以保存对象的.

我的控制器会采用2个IEnumerable参数吗?IE

public ActionResult SaveList(IEnumerable<MainList>, IEnumerable<Sublist>)
{

}
Run Code Online (Sandbox Code Playgroud)

看起来这样可行但我无法将子列表集合中的对象与主列表集合中的相应对象相关联.

我错过了什么?

asp.net-mvc list asp.net-mvc-3

5
推荐指数
1
解决办法
1172
查看次数

使用AutoMapper将复杂的视图模型映射回具有集合属性的模型

我有EF一个EF生成的Person类,它有几个属性.我还有一个有几个属性的职位.一个人与多个工作有关,因此工作是人的收集财产.

我已经创建了一个视图模型:

public class PersonViewModel
{
    public Person Person{ get; set; }
    public List<Job> Jobs{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)

从我的角度来看,我发布了PersonViewModel的一个实例.我想使用AutoMapper将此viewmodel映射回Person的实例,其Jobs集合属性填充了视图模型中的列表.

这可以实现吗?到目前为止,我尝试过:

 Mapper.CreateMap<PersonViewModel, Person>();
Run Code Online (Sandbox Code Playgroud)

没有运气......

编辑:

好的,这确实有效.我发现我在其他地方有问题......

我的Person对象也与PersonType表有一对多的关系... PersonType成为Person的导航属性,自动映射器试图映射这个......这是它失败的地方......我成功地将PersonTypeID传递给将人员与人员类型相关联.我原以为这就是我需要做的一切.我怎样才能解决这个问题......

编辑2: 所以基本上我在DB中的Person表有一个PersonTypeID列(PersonType表的外键)...这被作为PersonType对象的Person的导航属性映射...

从我的视图中的表单,我有一个下拉列表来选择人类类型,它在视图模型中的Person对象中传递PersonTypeID属性...

automapper似乎正在寻找Person的PersonType nav属性的值来映射...我得到了一个 AutoMapper.AutoMapperMappingException

错误

Destination property: PersonType
Exception of type 'AutoMapper.AutoMapperMappingException' was thrown.
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc asp.net-mvc-3

5
推荐指数
1
解决办法
8158
查看次数

如何使用工厂模式为每个请求/线程实现datcontext

使用此示例项目作为指导,我正在设置一个新项目.我的项目将遵循相同的基本架构,除了mvc项目之外,我还将有一个wcf web服务项目(或者可能是servicestack.net)

我使用的是Ninject,而不是像样本中那样使用Unity for DI.目前我正在按如下方式配置Ninject,以便仅为每个Web请求实例化一个数据库工厂实例(因此每个请求一个datacontext类(首先使用EF 4.1代码btw))

 kernel.Bind<IDatabaseFactory>()
       .To<DatabaseFactory>()
       .InScope(ctx => HttpContext.Current);
Run Code Online (Sandbox Code Playgroud)

我很好奇这种方法是否足够?或者让工厂类处理每个http请求的datacontext实例化会更好(如果我将来为非基于Web的前端设计,可能还需要每个线程)?如果是这样,那么有什么例子可以解决这个问题吗?

或者有一个更好的解决方案来处理这个?

.net c# ninject entity-framework-4.1

5
推荐指数
1
解决办法
1474
查看次数

在C#中操作Word 2007文档XML

我试图在C#中操纵Word 2007文档的XML.我已经设法找到并操纵了我想要的节点,但现在我似乎无法弄清楚如何将其保存回来.这是我正在尝试的:

// Open the document  from memoryStream
Package pkgFile = Package.Open(memoryStream, FileMode.Open, FileAccess.ReadWrite);
PackageRelationshipCollection pkgrcOfficeDocument = pkgFile.GetRelationshipsByType(strRelRoot);

foreach (PackageRelationship pkgr in pkgrcOfficeDocument)
{
    if (pkgr.SourceUri.OriginalString == "/")
    {
        Uri uriData = new Uri("/word/document.xml", UriKind.Relative);

        PackagePart pkgprtData = pkgFile.GetPart(uriData);

        XmlDocument doc = new XmlDocument();
        doc.Load(pkgprtData.GetStream());

        NameTable nt = new NameTable();
        XmlNamespaceManager nsManager = new XmlNamespaceManager(nt);
        nsManager.AddNamespace("w", nsUri);

        XmlNodeList nodes = doc.SelectNodes("//w:body/w:p/w:r/w:t", nsManager);

        foreach (XmlNode node in nodes)
        {
            if (node.InnerText == "{{TextToChange}}")
            {
                node.InnerText = "success";
            }
        }


        if (pkgFile.PartExists(uriData)) …
Run Code Online (Sandbox Code Playgroud)

.net c# xml asp.net ms-word

4
推荐指数
1
解决办法
4720
查看次数

如何从Action Method with Array属性返回Json?

我试图从动作方法返回一些数据作为json.

我有一个员工对象,如下所示:

public class Employee
{
     public int EmployeeID {get; set;}
     public string FirstName {get; set;}
     public string LastName {get; set;}
     //Other irrelevant properties
}
Run Code Online (Sandbox Code Playgroud)

然后我有一个视图模型如下

public Class EmployeeViewModel
{

    public Employee Supervisor{get; set;}
    public List<EmployeeViewModel> Employees

} 
Run Code Online (Sandbox Code Playgroud)

我需要返回一个看起来完全像这样的json对象:

{id: 1, name: John, children: [
    {id: 1, name: Joe, children: []},
    {id: 1, name: Rob, children: []}
]}
Run Code Online (Sandbox Code Playgroud)

现在我只需要进入上面的第二级,返回主管和他们的工作人员.

我将如何在我的动作方法中返回这个(我已经将viewModel对象保持水分,我只需要将其作为json返回).到目前为止我的问题是该children物业没有填充.

c# asp.net asp.net-mvc asp.net-mvc-3

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

如何在IQueryable对象的LINQ查询的where子句中调用方法

我通过EF 4.1获得了MyType的IQIery.

我通过linq以where子句的形式应用过滤器,其中一个将根据给定邮政编码的距离进行过滤.

MyType有一个ZipCode属性,我需要调用一个方法来计算MyType邮政编码和我给定的邮政编码之间的距离.

我尝试了以下编译,但在运行时抛出错误.

myTypes = myTypes.Where(x => GetDistance(x.Zip, givenZip) < 10);
Run Code Online (Sandbox Code Playgroud)

我该怎么做到这一点?

编辑

我的Distance方法返回一个double,表示以英里为单位的距离

public double Distance(Position position1, Position position2)
{ 

}
Run Code Online (Sandbox Code Playgroud)

Position是一个结构,包含lat和long的双精度数

.net c# linq entity-framework entity-framework-4.1

4
推荐指数
1
解决办法
7613
查看次数

在具有服务层的多层体系结构中,让一个服务调用另一个服务是否可以接受?

我有一个多层应用程序,其中包含一个包含存储库的数据层.

最重要的是,我有一个服务层.我的理解是每个存储库应该有一个服务.

服务A是否可以调用ServiceB中的另一个方法?当然,这会在服务A中创建对服务B的依赖(我使用接口和DI).

在我的示例中,我有一个用户服务,用于处理,添加用户,验证用户,按ID查找用户等.我还有一个Book服务,允许我为特定用户添加书籍.

书籍服务是否应该调用用户服务来检索要将书籍添加到的用户实例?

.net c# asp.net entity-framework multi-tier

4
推荐指数
1
解决办法
443
查看次数

如何在带有续集器附件的appharbor上运行的应用程序中启用MultipleActiveResultSets?

在本地开发时,我有一个设置为MultipleActiveResultSets的连接字符串设置为TRUE.但是,当我部署我的应用程序并注入sequelizer connectionString时,会遗漏MultipleActiveResultSets.反正有没有启用MultipleActiveResultSets或以其他方式更新连接字符串?

我顺便使用Entity Framework 4.1.

c# asp.net-mvc entity-framework entity-framework-4.1 appharbor

4
推荐指数
1
解决办法
4543
查看次数

如何创建匹配的HMAC值以验证.NET中的Shopify WebHook?

我已经设置了一个端点来接收Shopify的webhook请求.

Shopify的请求包括一个HMAC标头,该标头是从共享密钥和请求主体创建的.

我需要在服务器上计算HMAC并将其与请求标头中的值相匹配,以确保请求是可信的.

我似乎无法在.NET中创建适当的机制来创建匹配的HMAC值.

我的算法在这一点如下:

public static string CreateHash(string data)
    {
        string sharedSecretKey = "MY_KEY";

        byte[] keyBytes = Encoding.UTF8.GetBytes(sharedSecretKey);
        byte[] dataBytes = Encoding.UTF8.GetBytes(data);

        //use the SHA256Managed Class to compute the hash
        System.Security.Cryptography.HMACSHA256 hmac = new HMACSHA256(keyBytes);
        byte[] hmacBytes = hmac.ComputeHash(dataBytes);

        //retun as base64 string. Compared with the signature passed in the header of the post request from Shopify. If they match, the call is verified.
        return System.Convert.ToBase64String(hmacBytes);
    }
Run Code Online (Sandbox Code Playgroud)

可以在此处找到用于验证其webhook的Shopify文档,但仅包含PHP和Ruby示例.

任何人都可以看到我可能做错了什么?我应该只是将整个JSON请求体作为字符串传递给此方法吗?

.net c# sha256 hmac shopify

4
推荐指数
2
解决办法
3524
查看次数