小编Mar*_*far的帖子

Socket.ExclusiveAddressUse的实际用途是什么?

我最近在.NET中使用套接字,我想知道它的实际用途Socket.ExclusiveAddressUse是什么。我已经阅读了MSDN文档,所以我知道基本概念(强制特定的IP地址/端口组合仅允许一个套接字绑定到它),但是对于该属性的实际用途有点困惑。

文档说什么时候ExclusiveAddressUse为假:

如果有多个套接字尝试使用该Bind(EndPoint)方法绑定到特定端口,则具有更特定IP地址的套接字将处理发送到该端口的网络流量。

一个IPEndPointEndPoint我能找到的唯一具体的子类)比另一个具体的精确度如何?您将如何以及为什么在应用程序中使用此行为?为什么Windows XP以后而不是Windows以前的默认行为是这种行为?

.net sockets binding

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

C#Xml序列化:不能(de)序列化来自另一个程序集的对象

我正在尝试在C#中对一个对象进行XML序列化/反序列化.问题是该对象的类型未在与调用序列化的代码相同的程序集中声明.相反,它来自在运行时动态加载的程序集,因此在编译时不知道调用序列化的代码.

我正在尝试序列化的类型是这样的:

//Assembly = P.dll
namespace EDFPlugin.Plugin1
{
    [Serializable]
    [XmlRoot(Namespace = "EDFPlugin.Plugin1")] 
    [XmlInclude(typeof(Options))] 
    public class Options
    {
        private string _username;
        private string _password;

        public string Username {
            get { return _username; }
            set { _username = value;}
        }

        public string Password
        {
            get { return _password; }
            set { _password = value; }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

正如我之前提到的,我用来尝试序列化/反序列化这个对象的代码位于一个程序集中,该程序集Options在编译时不知道类型(因为它P.dll在运行时动态加载).不过,我设法通过使用以下代码正确地序列化了类型:

//Assembly = A.exe (doesn't know about P.dll at compile time)
object value = GetOptions() //the actual type returned by …
Run Code Online (Sandbox Code Playgroud)

.net c# serialization xml-serialization xmlserializer

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

访问Asp.Net 5中的客户端IP地址(REMOTE_ADDR)

我试图在asp.net中获取ServerVariables ["REMOTE_ADDR"].

这是我的旧代码(webapi 2):

private Logn GLog(System.Web.Routing.RequestContext requestContext)
{
    Ln Log = new LogInformation();
    Lg.IP = requestContext.HttpContext.Request.ServerVariables["REMOTE_ADDR"];
    Lg.RemoteIP = requestContext.HttpContext.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
    ............................
Run Code Online (Sandbox Code Playgroud)

从我所学到的,他们将" Routing.RequestContext " 更改为

vNext版本中的" IHttpContextAccessor ".

我怎么能用IHttpContextAccessor获得上述结果?

这给了我" ServerVariables "部分的错误:

private Logn GLog(IHttpContextAccessor requestContext)
{
    Ln Log = new LogInformation();
    Lg.IP = requestContext.HttpContext.Request.ServerVariables["REMOTE_ADDR"];
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-core

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

在C#中的ArrayList中检索对象中的参数?

using UnityEngine;
using System.Collections;

public class People{

    public string name;
    public int type;

}

public class Game{
    public ArrayList people;

    public void start(){
        People p = new People();
        p.name = "Vitor";
        p.type = 1;

        people = new ArrayList ();
        people.add(p);

        Debug.Log(p[0].name);
    }
}
Run Code Online (Sandbox Code Playgroud)

返回错误:

类型'object'不包含'name'的定义,也没有找到'object'类型的扩展方法'name'(你是否缺少using指令或程序集引用?)

c#

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

我什么时候需要在C#中调用base()?

我的BaseClass构造函数被调用,而我在派生类中有一个构造函数,所以什么时候需要调用base()?

class BaseClass
{
    public BaseClass()
    {
        Debug.Print("BaseClass");
    }
}

class InheritedClass : BaseClass
{
    public InheritedClass()
    {
        Debug.Print("InheritedClass");
    }
}

private void Form1_Load(object sender, EventArgs e)
{
    InheritedClass inheritedClass = new InheritedClass();
}
Run Code Online (Sandbox Code Playgroud)

产量

'Inheritance.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Accessibility\v4.0_4.0.0.0__b03f5f7f11d50a3a\Accessibility.dll'
'Inheritance.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
BaseClass
InheritedClass
The thread 'vshost.RunParkingWindow' (0x12b4) has exited with code 0 (0x0).
The thread '<No Name>' (0x85c) has exited with …
Run Code Online (Sandbox Code Playgroud)

c# inheritance constructor

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

将奇怪的JSON响应解析为List <string>

我正在使用RestSharp调用Web服务并正确地恢复我的响应,但我得到的数据是一种奇怪的格式.它是一个GUIDS列表,这也是我想要的,但它们作为一个bool对象回来,看看:

"{
    \"5916DF70-C413-4132-90F7-C365B0FAA26D\" : true,
    \"B5F0FF80-F8D1-40F7-8313-045F02D37FAA\" : true,
    \"D859A904-EDAE-4D87-9ADC-8FB5F3B47B02\" : true
}"
Run Code Online (Sandbox Code Playgroud)

我将如何解析,所以我只得到一个只包含GUID的List?

c# asp.net json restsharp

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

在python 3中使用带逗号的打印

使用python 3 print(),不会在同一行中一个接一个地列出重复的数据吗?

假设您希望一条消息在同一行上重复显示。

例。

my_message = 'Hello'
for i in range(100) :
    print(my_message), 
Run Code Online (Sandbox Code Playgroud)

它当前正在另一个下面打印(不是我想要的)

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

但我在python书中读到,在print()之后添加一个逗号应该可以产生所需的效果,并使它并排显示

hello hello hello hello..(x100)
Run Code Online (Sandbox Code Playgroud)

为什么在Python 3中不这样做?您如何解决?

python

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

C#中的继承问题没有调用基类构造函数

我想知道为什么我没有在下面的代码中收到错误.我在基类中没有定义构造函数,但在派生类中定义了一个构造函数.代码仍按预期运行.有人可以帮助我摆脱困惑.

class Shape
{
    public void Area()
    {
        Console.WriteLine("I am  a shape");
    }
}

class Circle : Shape
{
    double radius;
    const double pi = 3.14;

    public Circle(double rad)
    {
        radius = rad;
    }

    public new double Area()
    {
        return pi * radius * radius;
    }
}
Run Code Online (Sandbox Code Playgroud)

代码编译完美,并给我想要的结果.谢谢,

class Progam
{
    static void Main(string[] args)
    {
        Shape s1 = new Shape();
        s1.Area();

        Shape s2 = new Circle(10);
        s2.Area();

        Circle c1 = new Circle(4.0);
        Console.WriteLine(c1.Area());
    }
}
Run Code Online (Sandbox Code Playgroud)

c# inheritance constructor

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

扩展密封类的属性

我想扩展Rectangle课程.目前,这个类的属性left,right......我想添加的属性topLeft,topRight...

我知道我可以创建一些扩展方法,如

public static Point TopLeft(this Rectangle rect)
{
    return new Point(rect.Left, rect.Top);
}
Run Code Online (Sandbox Code Playgroud)

但我想将此作为财产添加.我想过继承Rectangle和添加缺少的信息

internal class Rect : Rectangle
{
    public Point TopLeft
    {
        get
        {
            return new Point(X, Y);
        }
    }

    public Point TopRight
    {
        get
        {
            return new Point(X + Width, Y);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是Rectangle是一个密封的课程.

不能从密封类型'矩形'派生

所以不可能扩展这个类?

c#

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

c#将锯齿状数组复制到字符串

我的函数应该用"&"";"分割字符串 和","并返回三个锯齿状阵列,反之亦然.(来自以下数据:1,2,3; 4,5,6和1,2,3; 4,5,6)

我一直在努力使它工作,现在由于某种原因我得到一个system.argumentnullexception on

Array.Copy(playerOneEnts, allEnts[0], playerOneEnts.Length);
Array.Copy(playerTwoEnts, allEnts[1], playerTwoEnts.Length);
Run Code Online (Sandbox Code Playgroud)

完整代码:

public string convertToString(string[][][] allEnts)
{
    string Player = string.Empty;
    string[][] playerOneEnts = new string[maxEnts][];
    string[][] playerTwoEnts = new string[maxEnts][];

    Array.Copy(allEnts[0], playerOneEnts, allEnts[0].Length);
    Array.Copy(allEnts[1], playerTwoEnts, allEnts[1].Length);

    for (int j = 0; j < playerOneEnts.Length; j++)
    {
        for (int i = 0; i < playerOneEnts[j].Length; i++)
        {
            Player += playerOneEnts[j][i] + ",";
        }

        Player = Player.TrimEnd(',');
        Player += ";";
    }

    Player = Player.TrimEnd(';');
    Player += "&";

    for (int j …
Run Code Online (Sandbox Code Playgroud)

c# arrays jagged-arrays

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