小编Wil*_*ler的帖子

NHibernate:如何解决这个"方言"配置问题

遇到的问题

在运行时,我总是得到以下内容NHibernate.MappingException:

"Could not compile the mapping document: GI.InventoryManager.CYB.Mappings.Part.hbm.xml"
Run Code Online (Sandbox Code Playgroud)

是的,它的构建操作设置为Embedded Resource.InnerException说:

"Could not find the dialect in the configuration"
Run Code Online (Sandbox Code Playgroud)

需要的信息

这是我的配置文件名为hibernate.cfg.xml:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration  xmlns="urn:nhibernate-configuration-2.2" >
  <session-factory>
    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
    <property name="connection.connection_string">
        Server=(local);initial catalog=GI_IM_CYB;Integrated Security=SSPI
    </property>
    <property name="adonet.batch_size">10</property>
    <property name="show_sql">false</property>
    <property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
    <property name="use_outer_join">true</property>
    <property name="command_timeout">60</property>
    <property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
    <property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory,     NHibernate.ByteCode.Castle</property>
  </session-factory>
</hibernate-configuration>
Run Code Online (Sandbox Code Playgroud)

实际上是Configuration_Templates文件夹中的复制粘贴,其中我只更改了以下信息:

Session Factory: "Removed the NHibernate.Test namespace and let the property …
Run Code Online (Sandbox Code Playgroud)

.net nhibernate nhibernate-configuration dialect

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

在允许我实例化工作表的单元格的同时,使用什么体系结构来解决此SystemOutOfMemoryException?

摘要

这个问题是建立一个简单的电子表格API的愿望的后续,同时保持对熟悉Excel的用户友好.

总结一下,这个问题与以下两个问题有关:
1.如何从索引实现列自命名?;
2. 如何使此自定义工作表初始化更快?.

目的

为了提供用作包装在nevralgic组件,如一个简化的Excel API Application,所述WorkbookWorksheetRange同时暴露只为每个这些最常用的对象属性的类/接口.

用法示例

这个用法示例的灵感来自单元测试,使我能够将此解决方案带到现在的位置.

Dim file as String = "C:\Temp\WriteTest.xls"

Using mgr As ISpreadsheetManager = New SpreadsheetManager()
    Dim wb as IWorkbook = mgr.CreateWorkbook()
    wb.Sheets("Sheet1").Cells("A1").Value = 3.1415926
    wb.SaveAs(file)
End Using
Run Code Online (Sandbox Code Playgroud)

现在我们打开它:

Dim file as String = "C:\Temp\WriteTest.xls"

Using mgr As ISpreadsheetManager = New SpreadsheetManager()
    Dim wb as IWorkbook = mgr.OpenWorkbook(file)
    // Working with workbook here...
End Using
Run Code Online (Sandbox Code Playgroud)

讨论

在实例化Excel工作簿时:

  1. Workbook实例在Workbook.Sheets集合中自动初始化;
  2. 初始化时,工作表通过Range可以表示一个或多个单元格的对象初始化其单元格. …

.net vb.net excel performance interop

7
推荐指数
1
解决办法
289
查看次数

如何使用反射通过属性标记名称设置属性值?

我希望编写一个可重用的库,用于使用LDAP查询AD.我正在使用ActiveDs COM对象和System.DirectoryServices.

受Bart de Smet LINQ到AD的启发,我编写了一个SchemaAttribute和一个DirectoryAttributeAttribute类,用于DirectorySource(Of T)类(是的,它是VBNET,但任何C#代码都会有用,因为我能说这两种语言都很流利) .

现在,当使用LDAP(System.DirectoryServices)查询AD时,您可以选择DirectorySearcher类要加载的属性/属性.然后,我自己写了一个方法,它将ParramArray of String作为参数,这样我就可以在foreach()语句中将LDAP属性添加到DirectorySearcher.PropertiesToLoad()方法中.这是一段清楚的代码(假设ldapProps参数将始终包含值):

Public Function GetUsers(ByVal ParamArray ldapProps() As String) As IList(Of IUser)
    Dim users As IList(Of IUser) = New List(Of IUser)
    Dim user As IUser
    Dim de As DirectoryEntry = New DirectoryEntry(Environment.UserDomainName)
    Dim ds As DirectorySearcher = New DirectorySearcher(de, "(objectClass=user)")

    For Each p As String In ldapProps
        ds.PropertiesToLoad(p)
    Next

    Try
        Dim src As SearchResultCollection = ds.FindAll()
        For Each sr As SearchResult In src
            user = New User()
            // This is where …
Run Code Online (Sandbox Code Playgroud)

.net reflection attributes ldap active-directory

6
推荐指数
1
解决办法
3721
查看次数

选择哪种ASP.NET编程模型?

摘要

我是一名经验丰富的程序员,在使用不同编程语言的Windows Forms开发方面拥有多年经验,如本问题所述:

学习WPF会提高我的ASP.NET技能吗?

ASP.NET或任何基于Web的编程语言对我来说都不太适合探索或使用.虽然我不熟悉基于Web的技术,但我对这些技术的好奇心在增长和增长.除此之外,我了解基于Web的编程需要的市场.我想将我的知识和经验扩展到网络,虽然只是知道我在说什么而不是推测什么.

我作为信息和流程系统开发人员的经验使我能够理解概念和一些基础知识.我知道基于Web的应用程序是无状态的,并且我需要使用会话或视图状态变量来保持用户正在使用的信息,否则我会松开它们.

我还了解基于Ajax的控件的基础知识,例如UpdatePanel,它将更新或仅刷新UI页面的一部分,而不是再次通过连接重新加载所有内容.

我可以让CSS为您的页面部分定义样式,并且您可以通过更改CSS引用来彻底改变您的网站方面.

事实上,我也知道我不太懂的主页.

编程模型

我刚观看了关于为我/我的应用程序选择合适模型的视频:
Choosing the Right Programming Model

如果看起来像ASP.NET MVC,我认为这是最好的方法,对于那些熟悉Web应用程序的资深Web开发人员来说更是如此.

我在Windows窗体中使用了很多DataBinding,而WebForms似乎更像是我在寻找ASP.NET,直到他们说MVC允许单元测试,TDD和敏捷方法,我坚持,作为一个认证的专业Scrum Master.

对于我说编程模型更自然的事情,我有点混淆了.

问题

  1. 考虑到我的知识基础和经验,你认为我会更舒服的编程模型是什么?

  2. 选择其中一个让我能够熟悉ASP.NET,有一天会尝试另一个模型吗?

  3. 在关于选择编程模型的视频中,我都是在ASP.NET上,我在使用Web窗体时听说过DataBinding,但在MVC模型中没有提到DataBinding.MVC中是否有任何可能的DataBinding?

最后

我对所有这些ASP.NET内容感到非常困惑.

asp.net-mvc webforms

6
推荐指数
2
解决办法
2487
查看次数

通过批处理文件中的文件夹和文件进行迭代?

这是我的情况.项目的目标是将一些附件迁移到另一个系统.

这些附件将位于父文件夹中,让我们说" Folder 0"(请参阅此问题的图表以便更好地理解),它们将被压缩/压缩.

我希望像这样调用我的批处理脚本:

BatchScript.bat "c:\temp\usd\Folder 0"
Run Code Online (Sandbox Code Playgroud)

我正在使用7za.exe命令行提取工具.

我希望我的批处理脚本要做的是遍历Folder 0""的子文件夹,并将所有包含的ZIP文件解压缩到各自的文件夹中.

提取的文件必须与各自的ZIP文件位于同一文件夹中.因此," File 1.zip"中包含" "中包含的文件Folder 1,等等.

我已经阅读了关于FOR...DO命令的内容Windows XP Professional Product Documentation - Using Batch Files.

这是我的脚本:

@ECHO OFF

FOR /D %folder IN (%%rootFolderCmdLnParam) DO 
    FOR %zippedFile IN (*.zip) DO 7za.exe e %zippedFile
Run Code Online (Sandbox Code Playgroud)

我想我还需要在调用7za.exe e%zippedFile进行文件提取之前更改实际目录,但我无法弄清楚如何在这个批处理文件中(通过我知道如何在命令行中,即使我知道它是相同的指令"cd").

编辑#1

我已经收到了关于ServerFault同一问题的一些提示.请在此链接中查看答案.

但是,它从根(C :)中提取,而不是从参数文件夹中的给定中提取.

有人有想法吗?

编辑#2

似乎批处理脚本不能充分处理包含空格字符的文件夹和文件名.谁能证实我的想法?

编辑#3

我需要它完全递归,因为我不知道将使用它的目录结构.

编辑#4.a

有了@ aphoria的解决方案,我几乎就在那里!唯一的问题是,它需要说File5.zip,只检索文件名获取File5,创建一个子文件夹File5并提取 …

extract dos 7zip batch-file

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

Win32:如何使用CreateWindowExW()函数创建ListBox控件?

我经历过多个网站,文档和教程,他们都说相同的,那就是,任何控制只不过是一个窗口,更在Win32中的API,因此,一个能够使用的CreateWindowExW()功能来创建一个ListBox在主控制/窗口应用程序窗口

虽然我得到所有控件的概念都是具有不同dwStyle的窗口,但我很难找到如何实例化ListBox控件.

我遇到了一个教程,其中编写了一个对话框LISTBOX,其声明中的指定如下:

// resource.h
#define IDD_MAIN                        101
#define IDC_TEXT                        1000
#define IDC_NUMBER                      1001
#define IDC_LIST                        1002
#define IDC_ADD                         1003
#define IDC_CLEAR                       1004
#define IDC_REMOVE                      1005
#define IDC_SHOWCOUNT                   1006

// .rc resource file
IDD_MAIN DIALOG DISCARDABLE  0, 0, 207, 156
    STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
    CAPTION "Controls One"
    FONT 8, "MS Sans Serif"
BEGIN
    LTEXT           "Add",IDC_STATIC,7,10,14,8
    EDITTEXT        IDC_TEXT,25,7,120,14,ES_AUTOHSCROLL
    EDITTEXT        IDC_NUMBER,150,7,21,14,ES_NUMBER
    LTEXT           "times.",IDC_STATIC,177,10,23,8
    LISTBOX         IDC_LIST,7,25,138,106,LBS_NOINTEGRALHEIGHT | …
Run Code Online (Sandbox Code Playgroud)

c winapi listbox createwindow

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

在.NET 4.0+中是否可以使用扩展方法扩展静态类?

我已经读过可以在F#中扩展静态类,尽管在C#中它是不可能的.提出了多种解决方法,因此建议这种类型的扩展可能是合理有用的.

虽然扩展方法被定义为静态,但它们适用于正在扩展的类型实例.

因为没有什么可以让我认为它现在可用,我想知道这个功能现在是否可以在.NET 4.0+中使用C#中的扩展方法语法来扩展静态类?

extension-methods .net-4.0 c#-4.0 .net-4.5

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

ASP.NET WebForms DropDownList数据绑定奇怪的行为?

摘要

我将数据上下文中的城市加载到两个不同的列表中,并将它们绑定到各自的DropDownList控件.

虽然两者的代码相同,但只有数据和显然控件的名称不同,数据绑定似乎不适用于其中一个.它不显示城市名称,而是显示其ID,即仅用于第一个选项!

代码隐藏

我们有两个DropDownList控件:

  1. DestinationDropDownList;
  2. OriginDropDownList.

然后,我填充他们.

public partial class MyControl : UserControl {
    protected void Page_Load(object sender, EventArgs e) {
        if (!IsPostBack) {
            var instruction = new City() {
                CityId = Guid.Empty,
                CityName = "- Select a city -"
            };

            var destinations = context.Cities.ToList();
            destinations = destinations.OrderBy(c => c.CityName).ToList();
            destinations.Insert(0, instruction);
            DestinationDropDownList.DataSource = destinations;
            DestinationDropDownList.DataTextField = "CityName";
            DestinationDropDownList.DataValueField = "CityId";
            DestinationDropDownList.DataBind();

            var origins = context.Cities.ToList();
            origins = origins.OrderBy(c => c.CityName).ToList();
            origins.Insert(0, instruction);
            OriginDropDownList.DataSource = origins;
            OriginDropDownList.DataTextField …
Run Code Online (Sandbox Code Playgroud)

asp.net data-binding webforms drop-down-menu

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

静态依赖注入工厂,对吗?

在我正在研究的项目中,当我在Ninject上拍摄时,我最近遇到了一堵砖墙.

我经历了各种各样的问题,系统地要求我的设计和架构,以支持依赖注入.

  1. 将容器/内核注入主应用程序演示者是否正确?

  2. 如何在WinForms中配置Ninject与NHibernate一起使用?

  3. 仅当属性不为null时,条件依赖注入绑定

  4. 我弄错了什么,DI或设计,我应该怎么做呢?

经过几个小时,几个小时和几个小时的搜索,我看到Justin Etheredge撰写的文章,他谈到了他的静态DIFactory课程.

我现在想知道,是不是使用静态DI工厂让事情变得像魔术一样?

我想听听在实际应用中使用静态DI工厂的优缺点.

此外,IoC和DI是相同的,还是它们非常相似,虽然有些不同?

c# architecture dependency-injection inversion-of-control

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

如何在使用Docker容器时解决403:Forbidden?

我是Docker的新手,目前正在学习本教程:

在12分钟内学习Docker

我创建了必要的文件,并将其显示为“ Hello World!”。在localhost:80上。

除此之外,我尝试使用对我的文件夹的直接引用来安装容器,以便我可以更新index.php文件以模仿开发环境,然后出现此错误:

禁止的

我所做的只是更改图像的运行方式,因此我可以更新index.php文件的内容,并在按F5键时看到更改反映在网页中。

当前在Windows 10 Pro上为Windows使用Docker

Windows的Docker正在运行

我认真地遵循了每个步骤,这样我就不会上当受骗,而且这似乎对我没有用。

为了回答莫诺的问题,这是 docker ps

码头工人ps

在这里 docker logs [container-name]

码头工人日志

而且由于我现在更好地了解了幕后的情况,我该如何解决日志中显示的问题?

这是我的 Dockfile

Docker文件

我执行的用于运行映像的命令:

docker run -p 80:80 -v /wmi/tutorials/docker/src/:/var/www/html/ hello-world
Run Code Online (Sandbox Code Playgroud)

这样您就可以看到该文件存在:

index.php的路径

portforwarding docker docker-for-windows

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