小编Sur*_*mra的帖子

WCF与.Net Remoting

根据这篇文章,带有命名管道的WCF是IPC的最佳选择,它比.Net Remoting快25%左右.

我有以下代码将WCF与命名管道与.Net Remoting进行比较:

[ServiceContract]
internal interface IRemote
{
    [OperationContract]
    string Hello(string name);
}

[ServiceBehavior]
internal class Remote : MarshalByRefObject, IRemote
{
    public string Hello(string name)
    {
        return string.Format("Hello, {0}!", name);
    }
}

class Program
{
    private const int Iterations = 5000;

    static void Main(string[] args)
    {
        TestWcf(Iterations);
        TestRemoting(Iterations);

        TestWcf(Iterations);
        TestRemoting(Iterations);

        TestWcf(Iterations);
        TestRemoting(Iterations);

        Console.ReadKey();
    }

    private static void TestRemoting(int iterations)
    {
        var domain = AppDomain.CreateDomain("TestDomain");

        var proxy =
            (IRemote)
            domain.CreateInstanceFromAndUnwrap(Assembly.GetEntryAssembly().Location, "ConsoleApplication6.Remote");

        Console.WriteLine("Remoting: {0} ms.", Test(proxy, iterations));
    }

    private …
Run Code Online (Sandbox Code Playgroud)

c# wcf named-pipes .net-remoting

29
推荐指数
3
解决办法
9906
查看次数

如何在特定端口上运行WCF服务

我在IIS上运行.Net 4.0 WCF服务.我没有指定端口,所以假设它在端口80上运行.我需要在已经使用端口80的服务器上安装我的服务,并且网络人员要求我将服务更改为在端口443上运行.如何操作我这样做?我猜它可以在app.config中配置,但我找不到一篇文章告诉我如何.

这是我当前的app.config:

<system.serviceModel>
<behaviors>
  <serviceBehaviors>
    <behavior name="">
      <serviceMetadata httpGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
Run Code Online (Sandbox Code Playgroud)

wcf

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

如何在WCF中使用自定义序列化或反序列化来强制datacontact的每个属性上的新实例?

我有一个datacontact,其中有许多成员都有自定义类

如果在反序列化时属性为null,我想强制一个新实例.

有没有办法做到这一点?

c# wcf customization datacontract deserialization

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

Linq通过变量访问属性

假设我有一个类:

public class Foo
{
    public string Title {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

现在,让我们假设我有一个public List<Foo> myList我想要由Linq过滤的内容:

var x = myList.Where(f => f.Title == myValue);
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切都很美好.

但是如何通过变量访问属性?就像是:

string myProperty = "Title";

var x = myList.Where(f => f.myProperty == myValue);
Run Code Online (Sandbox Code Playgroud)

c# linq where

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

为自定义UserControl创建工具提示

我需要了解如何利用ToolTip自定义UserControl.只需在表单上创建工具提示并为特定控件分配工具提示(通过SetToolTip)显然不起作用.

为了向其分配ToolTip文本,我需要提供哪些属性来自定义UserControl?我是否需要在usercontrol表单上添加工具提示?我该怎么做呢?

请提供代码示例或其他内容供我观察.

谢谢!

c# winforms

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

哪种visual studio解决方案类型适合我?

我目前有一个我写的程序,分为3个独立的解决方案.

  1. 前端(所有显示相关的东西)
  2. 解析器(多个(39)项目,每个项目创建一个dll来解析特定数据)
  3. Globals(多个(5)项目,每个项目创建一个由解析器解决方案中的项目使用的dll,以及前端).

要求 -

  • 前端和解析器都要求全局dll在编译时存在,并在运行时使用.
  • 使用assembly.LoadReference在运行时加载Parsers dll.
  • 发展是: C:\projects\myProg
  • 部署位置是: C:\myProg

我的问题是我一直在处理与项目依赖关系有关的问题,在哪里指向我的全局变量dll.我是否指向已部署的位置或开发位置,如果是,则发布或调试?

所以我开始查找不同的解决方案类型,我想知道是否应该为我的特定情况设置分区解决方案或多解决方案.

c# projects-and-solutions visual-studio-2010

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

使用string.format()函数或LINQ分隔字符串的最佳方法是什么?

有没有办法使用函数或LINQ 更改" ABCDEFGHIJKLMNOP"到" ABCD-EFGH-IJKL-MNOP" string.format()
我正在使用这个声明

Out= String.Format("{0}-{1}", String.Format("{0}-{1}-{2}", In.Substring(0, 4), In.Substring(4, 4), In.Substring(8, 4)), In.Substring(12, 4));  
Run Code Online (Sandbox Code Playgroud)

有没有更好更清晰的方法来实现这一目标?

c# linq string

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

c#asp.net表行总是在同一行

我有这个代码

protected void Page_Load(object sender, EventArgs e)
{
    TblPrikaz.BorderWidth = 1;

    XmlDocument baza = new XmlDocument();
    XmlTextReader reader = new XmlTextReader(Server.MapPath("baza.xml"));
    baza.Load(reader);
    TableRow line = new TableRow();
    TableCell id = new TableCell();
    TableCell ime = new TableCell();
    TableCell prezime = new TableCell();
    TableCell godiste = new TableCell();

    id.Text = "ID";
    ime.Text = "Ime";
    prezime.Text = "Prezime";
    godiste.Text = "Godiste";

    line.BackColor = Color.Green;

    line.Cells.Add(id);
    line.Cells.Add(ime);
    line.Cells.Add(prezime);
    line.Cells.Add(godiste);

    TblPrikaz.Rows.Add(line);


    XmlNodeList popis = baza.GetElementsByTagName("element");

    for (int i = 0; i < popis.Count; i++) …
Run Code Online (Sandbox Code Playgroud)

c# asp.net

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

如何在EditItemTemplate中获得控件?

我有一个DetailsView约束,EntityDataSource并试图从我的TextBoxes中获取值EditItemTemplates.

这是我的代码:

 <asp:DetailsView ID="DetailsView1" DataKeyNames="Name" runat="server" AutoGenerateRows="False"
OnDataBound="DetailsView_DataBound" DataSourceID="eds2" BorderWidth="0"
OnModeChanging="OnModeChanging" AutoGenerateEditButton="true"
OnItemUpdated="DetailsView_OnItemUpdated" OnItemUpdating="DetailsView_OnItemUpdating"
EmptyDataText="N/A" OnDataBinding="DetailsView_OnDataBinding" CellPadding="0"
CellSpacing="7" GridLines="None" CssClass="Center">
<Fields>
<asp:TemplateField HeaderText="Name">
    <EditItemTemplate>
    <asp:TextBox ID="txtName" runat="server" Text='<%# Bind("Name") %>'></asp:TextBox>
    </EditItemTemplate>
    <ItemTemplate>
    <asp:Label ID="lblName" runat="server" Text='<%# Bind("Name") %>'></asp:Label>
    </ItemTemplate>
</asp:TemplateField>
 <Fields>
</asp:DetailsView>
Run Code Online (Sandbox Code Playgroud)

而背后的代码:

protected void OnModeChanging(object sender, DetailsViewModeEventArgs e)
{ 
    foreach (DetailsViewRow row in DetailsView1.Rows)
    {
        if (row.RowType != DataControlRowType.DataRow) continue;
        foreach (DataControlFieldCell cell in row.Cells)
        {
            var textbox = cell.FindControl("txtName");
            var …
Run Code Online (Sandbox Code Playgroud)

c# asp.net detailsview

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

缓慢的Lambda表达

任何人都可以给我任何关于如何使这个运行更快一点的指针?

return mb_entities.prospects.
         FirstOrDefault(x => x.address == person.Add &&
                x.homePhone == person.HPhone &&
                x.bizPhone == person.BPhone && 
                x.cellPhone == person.CPhone &&
                x.city == person.City &&
                x.state == person.State && 
                x.zip == person.Zip &&
                x.email == person.Email &&
                x.firstName == person.FName &&
                x.lastName == person.LName &&
                x.middleName == person.MName &&
                x.genCode == person.GC) ?? new prospect();
Run Code Online (Sandbox Code Playgroud)

现在它运行在160到180毫秒之间.如果我不必这样做1000次就没问题.

任何提示将非常感谢.谢谢!

c# lambda entity-framework

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