小编Pau*_*l H的帖子

如何将WinForm用户控件添加到WPF中,以便我可以在xaml.cs文件中引用它

我正在将WinForms项目的一部分迁移到WPF中.

我想将现有的WinForms用户控件添加到WPF表单中.WinForm用户控件称为"TicketPrinter",与WPF表单位于同一项目中.

在我的xaml中,我有这一行:

xmlns:Printers="clr-namespace:Project.UserControls.Printers"
Run Code Online (Sandbox Code Playgroud)

然后我在我的xaml中使用它:

        <WindowsFormsHost Height="430" HorizontalAlignment="Left" Margin="468,12,0,0" Name="windowsFormsHost1" VerticalAlignment="Top" Width="324">
            <Printers:TicketPrinter Printers:Name="ZapTicketPrinter">
            </Printers:TicketPrinter>
        </WindowsFormsHost> 
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

当我运行项目时,用户控件将按预期显示在窗体上.

但是当我进入xaml.cs文件后面的代码并尝试访问"ZapTicketPrinter"时,它不能作为参考.

我尝试使用ZapTicketPrinter并且无法识别.

我也尝试过以下方法:

TicketPrinter ticketPrinter = this.FindName("ZapTicketPrinter") as TicketPrinter;
Run Code Online (Sandbox Code Playgroud)

但得到一个空

我错过了什么?如何在代码中引用该名称?

c# wpf user-controls visual-studio-2010 winforms

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

更新现有的asp.net网站将开启用户

当我通过用最新版本覆盖它来更新客户服务器上运行的ASP.NET网站[注意:它不是Web应用程序]时,它会将所有用户关闭.

我希望能够在不启动用户的情况下提供新版本的网站 - 有没有办法尽量减少用户被开除的机会?[除了显而易见的等待低使用时间]

如果我从InProc转移到会话状态,我想这可能会有所作为 - 但还有其他方法吗?

asp.net

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

我可以以编程方式覆盖客户端app.config WCF端点地址吗?

我想覆盖存储在app.config中的客户端WCF端点地址,以便我可以将它们从指向"localhost"更改为指向生产URL [取决于可以在App中设置的配置(包含在对象'appConfig'中)在下面显示的代码中) - 这是一个WinForms项目.

通过阅读该领域的其他问题,我已经达到了以下代码片段(InitAllEndpoints调用InitEndpoint),我从Form_Load事件中调用了这些代码.我在我的应用程序中尝试了这些,如果我将鼠标悬停在"ep"变量中的值上,它们似乎会更改EndPoint地址.然而,如果我在代码之后再次循环通过serviceModelSectionGroup.Client.Endpoints,我发现它们实际上没有变化.(我现在读到EndPoint地址是不可变的 - 所以我的代码看起来都不对,因为我希望用新的EndPoint地址对象覆盖地址 - 而不是Uri?)

如何以编程方式覆盖客户端app.config WCF端点地址?

private void InitAllEndpoints()
{
    ServiceModelSectionGroup serviceModelSectionGroup =
               ServiceModelSectionGroup.GetSectionGroup(
               ConfigurationManager.OpenExeConfiguration(
               ConfigurationUserLevel.None));
    if (serviceModelSectionGroup != null)
    {

        foreach (ChannelEndpointElement ep in serviceModelSectionGroup.Client.Endpoints)
        {
            InitEndpoint(ep,

                appConfig.ExternalComms_scheme,
                appConfig.ExternalComms_host,
                appConfig.ExternalComms_port);
        }
    }
}


private void InitEndpoint(ChannelEndpointElement endPoint,  string scheme, String host, String port)
{
    string portPartOfUri = String.Empty;
    if (!String.IsNullOrWhiteSpace(port))
    {
        portPartOfUri = ":" + port;
    }

    string wcfBaseUri = string.Format("{0}://{1}{2}", scheme, host, portPartOfUri);

    endPoint.Address = new Uri(wcfBaseUri + endPoint.Address.LocalPath);
}
Run Code Online (Sandbox Code Playgroud)

注意:我的代理服务器位于一个单独的项目/ DLL中.

例如 …

c# wcf web-services winforms

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