使用POCO有什么好处?我不明白持久性无知的含义,这是什么意思?poco对象不能暴露像Save这样的东西?我无法绕过这个POCO,周围有很多嗡嗡声.
与EF生成的实体和POCO有什么区别?
我在IIS8下部署了两个ASP.NET MVC Web应用程序(让我称之为发送方和接收方Web应用程序).我从发送方内部的操作方法调用接收方Web应用程序中的操作方法.
现在在发件人中,我有以下操作方法,将上传string
到接收器上的外部操作方法:
using (WebClient wc = new WebClient())
{
var data = JsonConvert.SerializeObject(resource);
string url = "https://receiver/CreateResource?AUTHTOKEN=" + pmtoken;
Uri uri = new Uri(url);
wc.Encoding = System.Text.Encoding.UTF8;
wc.Headers.Add(HttpRequestHeader.ContentType, "application/json; charset=utf-8");
wc.Headers.Add("Authorization", token);
output = wc.UploadString(uri, data)
}
Run Code Online (Sandbox Code Playgroud)
我编码string
使用UTF-8在上传之前,因为我将传递Unicode字符,如£
,¬
等...
在接收方Web应用程序上,接收操作方法如下:
public List<CRUDOutput> CreateResource(Resource resourceinfo)
Run Code Online (Sandbox Code Playgroud)
一开始我认为我的方法不会很好.因为我正在wc.Encoding = System.Text.Encoding.UTF8;
从发送器向接收器动作方法发送编码数据(使用),并且我没有对接收器动作方法进行任何类型的解码.
但是,似乎在接收动作方法上resourceinfo
接收到正确的解码值.所以看起来ASP.NET MVC会在某处自动处理解码.
第一个问题:
谁能告诉我ASP.NET MVC如何处理接收操作方法中的解码?
第二个问题:
在我的WebClient()
方法中,我定义以下内容以指定内容类型标头:
wc.Headers.Add(HttpRequestHeader.ContentType, "application/json; charset=utf-8");
Run Code Online (Sandbox Code Playgroud)
然而,似乎这对我的情况没有任何影响.当我删除上面的代码行时,没有任何变化.任何人都可以告诉我,如果定义内容类型标题会对我的情况有任何影响吗?
最后一个问题:
如果我没有明确定义UTF-8编码使用wc.Encoding = System.Text.Encoding.UTF8;
将WebClient() …
我在 CMMI 5 级公司面试中被问到如何在 C# 中创建可变和不可变类。我听说过 mutable 和 immutable 这意味着可以改变和不能改变,比如String和StringBuilder。
但是,我不知道如何创建可变类和不可变类。为此,我们有 String 和 String builder。但是在创建一个的时候,我被迫在网上搜索了这个,但找不到任何有用的东西,所以想到这里问。
但是,我尝试通过在类中定义一个属性并在其 Getter 上创建它来创建它,我创建了一个新的字符串对象来复制它。但没有成功理解。
另外,我已经提到在 stackoverflow 中已经提出了一个关于不可变和可变的问题。但是,我的问题是不同的。我想知道我是否想创建一个可变类,那么除了使用 String 或其他可变类之外,我将如何使用它。