小编PBM*_*eIt的帖子

WebClient UploadStringTaskAsync 无一例外地失败

我在我编写的一个安静的 Web API 2 发布方法上调用 UploadStringTaskAsync 并且它毫无例外地失败了。如果我将调用更改为 UploadString,它将按预期工作。我尝试了许多不同的方法。通过 UploadStringTaskAsync 尝试,Fiddler 确实显示了正在发布的帖子,但内容长度不匹配(见下文)。我正在从测试控制台应用程序中包含的类库运行此调用。.Net 4.5.2 到目前为止只是在 VS 2015 的调试模式下运行。这是我的代码:

private async Task PostLoggingItem(SmgLoggingItem loggingItem)
    {
        try
        {
            //using (WebClient client = new WebClient())
            //{
            //WebClient client = new WebClient();

                const string authToken = "mytoken";

                loggingItem.AuthToken = Encryptor.GenerateSecurityToken(authToken);

                client.Encoding = Encoding.UTF8;

                //client.Credentials = CredentialCache.DefaultNetworkCredentials;
                //client.UseDefaultCredentials = true;
                client.Credentials = new NetworkCredential("user","mypwd","mydom");

                // set content type to JSon
                client.Headers.Add("Content-Type", "application/json");

                var jsonItem = JsonConvert.SerializeObject(loggingItem);
            var response = await client.UploadStringTaskAsync(new Uri(ConfigurationManager.AppSettings["WebLogAPI"]), jsonItem);

            //string response = client.UploadString(new …
Run Code Online (Sandbox Code Playgroud)

c# webclient async-await

5
推荐指数
0
解决办法
537
查看次数

返回包含泛型List的类

我正在尝试在c#(5.0)中构建一个我可以用作基类的类,它包含一个List,但List可以是两种不同的类型.我想做以下事情:

public class BaseC
{
    string header { get; set; }
    List<object> recs  { get; set; }
}

public class derive1: BaseC
{
    List<myclassA> recs;
}

public class derive2: BaseC
{
    List<myclassB> recs;
}
Run Code Online (Sandbox Code Playgroud)

而且重要的是我想要做的是从另一个类中的方法返回派生类:

public BaseC PopulateMyDerivedClass()
{
    BaseC b = new BaseC();
    b.header = "stuff";
    b.recs =  FileHelperEngine<myclassB> fhe.ReadStringAsList(x);
}
Run Code Online (Sandbox Code Playgroud)

主要的一点是这个方法PopulateMyDerivedClass确实完全相同的两个derive1derive2,只是它返回一个不同类型的列表.

我想我需要泛型.但是,这是在基类级别,PopulateMyDerivedClass然后应该返回通用?我想也许我不是在处理多态性问题,但是你可以猜测我是仿制药的新手,所以很挣扎.

c# generics polymorphism

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

无法从“System.Data.Objects.ObjectParameter”转换为“System.Data.Entity.Core”

每当我从数据库更新 EF 6 模型(添加表)时,都会收到上述错误。

这不是一个新问题。我阅读了此处列出的所有建议(无法从 'System.Data.Objects.ObjectParameter' 转换为 'System.Data.Entity.Core.Objects.ObjectParameter')。

答案说要更换

using System.Data.Objects;
using System.Data.Objects.DataClasses;
Run Code Online (Sandbox Code Playgroud)

using System.Data.Entity.Core.Objects;
using System.Data.Entity.Core.Objects.DataClasses;
Run Code Online (Sandbox Code Playgroud)

当我从数据库更新模型并编译时,有问题的名称空间(System.Data.Objects 和 System.Data.Objects.DataClasses)立即返回,生成编译错误,并且添加的表从模型中消失!

所以我发现自己陷入了添加表、编译错误、替换上述行并丢失表的恶性循环。冲洗,重复。经过 5-6 次尝试后,当我幸运时,添加的表格就会显示在模型中。

所以我尝试重新安装实体框架(6.2.0),但这并不能解决问题。

有人提到“版本冲突”。除了卸载并重新安装我已经尝试过多次的软件包之外,还有什么方法可以检查呢?

entity-framework

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