小编Ser*_*gel的帖子

构建服务器最佳实践

我听说google有一些像这样的自动化过程:

  • 办理登机手续时,您的代码将被检入临时位置.
  • 它是建成的.
  • 样式检查运行.
  • 测试运行.
  • 如果没有问题,代码将转到实际存储库.
  • 您会收到一封电子邮件,其中包含测试结果,性能图表,样式检查结果以及您的代码是否已签入.

因此,如果您想了解自己是否破坏了某些内容或获得了预期的性能提升,您只需登记并收到一封电子邮件,告诉您需要了解的内容.

您最喜欢的构建服务器最佳实践是什么?

build-automation build-process build-server

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

使用ScriptManager时出现分析器错误

我有一个ASP.NET页面,上面有一个脚本管理器.

<form id="form1" runat="server">
    <div>
        <asp:ScriptManager EnablePageMethods="true" ID="scriptManager2" runat="server">
        </asp:ScriptManager>
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

页面将覆盖抽象属性以返回ScriptManager,以使基页能够使用它:

public partial class ReportWebForm : ReportPageBase
{
    protected override ScriptManager ScriptManager
    {
        get { return scriptManager2; }
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

和基页:

public abstract class ReportPageBase : Page
{
    protected abstract ScriptManager ScriptManager { get; }

    ...
}
Run Code Online (Sandbox Code Playgroud)

当我运行该项目时,我得到以下解析器错误:

分析器错误消息:基类包括字段"scriptManager2",但其类型(System.Web.UI.ScriptManager)与控件类型(System.Web.UI.ScriptManager)不兼容.

我怎么解决这个问题?

更新:设计器文件的脚本管理器部分是:

protected global::System.Web.UI.ScriptManager scriptManager;
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-ajax scriptmanager

3
推荐指数
1
解决办法
8101
查看次数

如何使用"确定/取消"按钮为数据绑定WPF对话框设计支持数据类型?

我在Microsoft Sql CE中创建了一个表,用于保存一些数据.我已经通过SqlMetal生成了一个ORM,并且我将数据源拉入了我的WPF项目.

我想创建一个简单的WPF表单,可以通过ORM生成的类来编辑表中的记录.我希望这个表单支持典型的OK/Cancel语义.我已经在我认为是典型的时尚中创建了表单,在相应的字段上使用TwoWay数据绑定来绑定来自ORM的对象的实例.例如,给定ORM中具有属性"TaskName"的对象,我在WPF表单中包含以下内容:

<Label Grid.Column="0" Grid.Row="0" >
    Name:
</Label>
<TextBox Name="txtName" Grid.Column="1" Grid.Row="0" 
         Text="{Binding TaskName, Mode=TwoWay}" AcceptsReturn="False"
         MaxLines="1" />
Run Code Online (Sandbox Code Playgroud)

这与代码中的DataContext赋值相结合:

var newRow = new OrmGeneratedClass();
// Populate default values on newRow, e.g.    
detailWindow.DataContext = newRow;
detailWindow.ShowDialog();
Run Code Online (Sandbox Code Playgroud)

可以合理地创建新行.通过表单进行的所有更改都会立即反映在底层的OrmGeneratedClass中.问题是,如果例如OrmGeneratedClass填充了先前保存的值,则不会立即支持取消更改.

对于这种情况,什么是好的设计,或者在我达到这一点之前我是否设计错了? 我是WPF和Sql Server数据源/ ORM集成方面的新手.(这是我用来学习这两种技术的个人项目.)

我有几个想法,并将他们放在答案中

data-binding wpf sql-server-ce linq-to-sql

3
推荐指数
1
解决办法
760
查看次数

Nhibernate:QuerySyntaxException:未映射'Class'

我有以下课程:

public class MyClass
{
    private List<long> _myList = new List<long>();

    public virtual string MyID { get; set; }

    public virtual string MyData
    {
        get
        {
            return SomeStaticClass.Serialize(_myList);
        }
        set
        {
            _myList = SomeStaticClass.Deserialize<List<long>>(value);
        }
    }

    public virtual List<long> MyList
    {
        get { return _myList; }
    }
}
Run Code Online (Sandbox Code Playgroud)

以下映射文件:

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
               assembly="MyNamespace"
               namespace="MyNamespace">
  <class name="MyNamespace.MyClass" table="MY_TABLE">
    <id name="MyID" column="MY_ID" type="System.String">
      <generator class="assigned"></generator>
    </id>
    <property name="MyData" column="MY_DATA"></property>
  </class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)

当我尝试运行以下行时:

session.Delete("From MyClass m");
Run Code Online (Sandbox Code Playgroud)

我收到一个QuerySyntaxException,消息"MyClass未映射[来自MyClass s]".

当我在映射文件中将"MyID"字段的名称更改为"ID"时,异常变为

NHibernate.PropertyNotFoundException:在类'MyNamespace.MyClass'中找不到属性'ID'的getter.

所以我假设它可以找到映射文件.我确保映射文件是一个嵌入式资源,检查并dobule检查映射文件中的命名空间和类名.什么可能导致错误?我认为它可能与未映射的MyList属性有关但我不确定,因为我在其他类上使用非映射属性没有问题.

编辑:我试图覆盖这个类,一个没有"MyData"属性的类,并重新定义"MyList"属性为字符串.对于我的重写类,我仍然收到相同的错误.

编辑2: …

nhibernate

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

如何解决"无法识别的元素'elementName'.(第x行)(第x行)"?

我有以下代码

var section = new CustomConfigurationSection();
section.SectionInformation.Type = "System.Configuration.NameValueFileSectionHandler";
section.SectionInformation.SetRawXml(sectionXml);
configuration.Sections.Add(sectionName, section);
Run Code Online (Sandbox Code Playgroud)

最后一行抛出:

ConfigurationErrorsException执行monitor的配置节处理程序时发生错误.

内部异常:

无法识别的元素'屏幕'.(第1行)(第1行)

CustomConfigurationSection的定义:

public class CustomConfigurationSection: ConfigurationSection
{
    public CustomConfigurationSection()
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

configuration是自定义类的实例,它具有名为Sections的属性,其类型为"ConfigurationSectionCollection".

sectionXml中传入的xml是:

<monitor>
  <screens>
    <screen>
      <regions>
        <region>
          <labelCoordinates />
          <startupApplication>Internet</startupApplication>
          <color />
          <width>426</width>
          <height>266</height>
          <x1>0</x1>
          <x2>0</x2>
          <y1>0</y1>
          <y2>0</y2>
        </region>
      </regions>
      <height>800</height>
      <width>1280</width>
    </screen>
    <screen>
      <regions />
      <height>0</height>
      <width>0</width>
    </screen>
  </screens>
</monitor>
Run Code Online (Sandbox Code Playgroud)

我怎样才能让它发挥作用?

c# configurationsection

3
推荐指数
1
解决办法
5116
查看次数

用户控件句柄上的NullReferenceException

我有一个Asp.NET应用程序(VS2008,Framework 2.0).当我尝试在其中一个用户控件上设置属性时

myUserControl.SomeProperty = someValue;
Run Code Online (Sandbox Code Playgroud)

我得到了NullReferenceException.当我调试时,我发现它myUserControl是null.用户控件句柄如何为空?我该如何解决这个问题?如何找到导致此问题的原因?

asp.net user-controls

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

我应该在什么时候调用ASP.NET事件的基本方法?

在ASP.NET中,如果我覆盖页面生命周期事件,我应该在工作之前或之后调用它的基本方法吗?它甚至重要吗?

protected override void OnPreRender(EventArgs e)
{
    // My code goes here
    base.OnPreRender(e);
    // Or here
}
Run Code Online (Sandbox Code Playgroud)

asp.net page-lifecycle

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

无法捕捉屏幕

我在客户端计算机上运行了一个Windows服务.我需要捕获客户端的屏幕并通过远程处理将其发送到服务器.当我运行exe文件时,它可以捕获屏幕并将其发送到服务器.但是,当我将其作为服务运行时,它会记录以下错误:

"手柄无效."

选中该服务的"与桌面交互"复选框.我用于截图的代码是:

Image bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb);
Graphics  gfxScreenshot = Graphics.FromImage(bmpScreenshot);
gfxScreenshot.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy);
return bmpScreenshot;
Run Code Online (Sandbox Code Playgroud)

可能是什么原因以及如何解决这个问题?

c# windows-services screenshot

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

Castle拦截器在单元测试期间不拦截MVC控制器上的方法

我有一个.net测试类.在Initialize方法中,我创建了一个windsor容器并进行了一些注册.在实际的测试方法中,我在控制器类上调用一个方法,但是拦截器不起作用,并且直接调用该方法.这有什么潜在的原因?

这是所有相关代码:

test.cs中:

private SomeController _someController;

[TestInitialize]
public void Initialize()
{
    Container.Register(Component.For<SomeInterceptor>());
    Container.Register(
        Component.For<SomeController>()
            .ImplementedBy<SomeController>()
            .Interceptors(InterceptorReference.ForType<SomeInterceptor>())
            .SelectedWith(new DefaultInterceptorSelector())
            .Anywhere);

    _someController = Container.Resolve<SomeController>();
}

[TestMethod]
public void Should_Do_Something()
{
    _someController.SomeMethod(new SomeParameter());
}
Run Code Online (Sandbox Code Playgroud)

SomeController.cs:

[HttpPost]
public JsonResult SomeMethod(SomeParameter parameter)
{
    throw new Exception("Hello");
}
Run Code Online (Sandbox Code Playgroud)

SomeInterceptor.cs:

public class SomeInterceptor : IInterceptor
{
    public void Intercept(IInvocation invocation)
    {
        // This does not gets called in test but gets called in production

        try
        {
            invocation.Proceed();
        }
        catch
        {
            invocation.ReturnValue = new SomeClass();
        }
    }
} …
Run Code Online (Sandbox Code Playgroud)

mstest castle-windsor interceptor

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

从某些网页上托管的JavaScript调用Objective-C函数

我有一个IOS应用程序,里面有一个Web浏览器.

显示此Web浏览器时,它会导航到Internet上的页面,例如http://myexample.com/myiosapp.

是否可以在此网站上放置一个javascript代码,当下载到手机时,它与本机应用程序进行通信?它可以调用Objective-C方法,还是写一些东西到这个应用程序的存储空间?

防爆.myexample.com/myios应用上托管的代码:

function saveSomeString() {
    xcode.Save("somestring");
}
Run Code Online (Sandbox Code Playgroud)

应调用名为Save的Objective-C函数,该函数将传入的字符串参数保存到本地存储.

javascript objective-c ios

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