小编Mas*_*aus的帖子

为什么我的JSON响应被返回用方括号[]包围?

我试图找出为什么我的JSON响应被方括号包围.我正在使用ASP.NET Web API和Angular.我认为这就是我的Angular代码没有打印到HTML的原因.

namespace GeekQuiz.Controllers
{
    public class TrialController : ApiController
    {
        private TriviaContext db = new TriviaContext();

        // GET api/trial
        public IQueryable<TriviaQuestion> GetTriviaQuestions()
        {
            return db.TriviaQuestions;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码来自我的 TrialController,我正在接受Angular的调用.

var app = angular.module('myApp', []);
app.controller('questCtrl', function ($scope, $http) {
    $http.get("/api/trial").success(function (data, status, headers, config) {
        $scope.options = data.options;
    }).error(function (data, status, headers, config) {
        $scope.title = "Oops... something went wrong";
        $scope.working = false;
    });
});
Run Code Online (Sandbox Code Playgroud)

这是我的浏览页面:

@{
    ViewBag.Title = "Contact";
}
<h2>@ViewBag.Title.</h2>
<h3>@ViewBag.Message</h3>

<div ng-app="myApp" ng-controller="questCtrl"> …
Run Code Online (Sandbox Code Playgroud)

javascript c# asp.net json angularjs

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

WPF Dispatcher Thread Freeze主窗口

而不是在后台工作 - 这段代码仍然冻结我的程序:

private void button_Click(object sender, RoutedEventArgs e)
{
    this.Dispatcher.BeginInvoke(new Action(() =>
    {
        Thread.Sleep(5000);
        label.Content = "Done";
    }), DispatcherPriority.Normal);
}
Run Code Online (Sandbox Code Playgroud)

我试过Thread/Tasks,线程示例:

private void button_Click(object sender, RoutedEventArgs e)
{
    var t = new Thread(new ThreadStart(runtask));
    t.Start();
}

private void runtask()
{
    this.Dispatcher.BeginInvoke(new Action(() =>
    {
        Thread.Sleep(5000);
        label.Content = "Done";
    }), DispatcherPriority.Normal);
}
Run Code Online (Sandbox Code Playgroud)

任务示例:

private void button_Click(object sender, RoutedEventArgs e)
{
    Task.Run(() =>
    {
        Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new Action(() =>
        {
            Thread.Sleep(5000);
            label.Content = "Done";
        }));
    });
}
Run Code Online (Sandbox Code Playgroud)

我的节目仍然冻结.有什么建议?

c# wpf multithreading task dispatcher

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

在张量流或 keras 中使用 None 进行重塑

假设我有一个形状为 的张量[None, 80, 80]。这是一批用于随机梯度下降的 80x80 图像。

假设我选择小批量大小为 50(无为 50),并且我想将 None 分解为二维(5, 10),结果为[?, ?, 80, 80]

当形成具有 None 值的图形时,如何实现这一点?

reshape keras tensorflow

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

为什么C#不允许匿名强制转换为对象?

我想知道不允许这种转换的原因.这篇文章已经在SO中接受了这个主题,但是我想要低级解释为什么这不可能原生.

为什么这些演员会失败?

OBS:我知道通过反思可以做到这一点.

IList<People> peopleList = new List<People>()
{
    new People() { Name = "Again", Age = 10 },
    new People() { Name = "Over", Age = 20 },
    new People() { Name = "Jonh", Age = 30 },
    new People() { Name = "Enzo", Age = 40 },
};

var anonymous = (from p in peopleList
                select new
                {
                    Name = p.Name,
                    Age = p.Age
                });

// Does not work
IList<People> listt = (IList<People>)anonymous; 
//Does …
Run Code Online (Sandbox Code Playgroud)

c# linq casting anonymous-types

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

如何创建 VS Code 的任务来执行当前文件,并将其文件夹设置为当前工作目录?

我正在同时尝试许多小项目,并在根文件夹上打开一个 VS Code 窗口。

它们可以是 JS 项目或 Python 项目,或其他可通过终端命令运行的项目。

我想创建一个 VS Code任务

1) 在当前打开并聚焦的文件上启动程序;

2) 将当前工作目录设置为该文件的目录。

这必须动态发生,即我不想每次想要启动不同的文件时都手动设置当前文件和当前工作目录。

我怎样才能做到这一点?

visual-studio-code vscode-tasks

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

如何将工具提示的可见性绑定到textblock中的文本?

<DataGrid x:Name="dgRecords1"
          CanUserAddRows="False" IsReadOnly="True"
          ColumnHeaderStyle="{DynamicResource DataGridColumnHeaderStyle1}"
          Style="{DynamicResource StyleDatagrid}"
          SelectionChanged="dgRecords1_SelectionChanged"
          Height="251" Width="569" Margin="41,173,168,0">
  <DataGrid.RowStyle>
    <Style TargetType="DataGridRow">
      <Setter Property="ToolTip">
        <Setter.Value>
          <Border Width="200" Height="80"
                  BorderBrush="Black" BorderThickness="1"
                  Background="AliceBlue">
            <StackPanel Orientation="Vertical">
              <StackPanel Height="30" Background="Black">
                <TextBlock Text="Email Sent To"
                           FontSize="14" FontWeight="Bold" Foreground="White"/>
              </StackPanel>
              <StackPanel>
                <TextBlock Text="{Binding SentToList}"
                           TextWrapping="Wrap" FontWeight="Bold"/>
              </StackPanel>
            </StackPanel>
          </Border>
        </Setter.Value>
      </Setter>
    </Style>
  </DataGrid.RowStyle>
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,

   <TextBlock TextWrapping="Wrap" FontWeight="Bold" Text="{Binding SentToList}" />
Run Code Online (Sandbox Code Playgroud)

我想检查这个文本块中是否有东西,如果没有,我需要使工具提示不可见.有没有办法使用触发器?

wpf xaml tooltip

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

java.lang.NoSuchFieldError:namingStrategy

网络上有一个示例,说明如何在Hibernate中使用批注(在我处理同一示例之前,但它使用了.xml。而且我设法使其无例外地工作)。所以现在我有:

Initial session factory creation failedjava.lang.NoSuchFieldError: namingStrategy
Exception in thread "main" java.lang.ExceptionInInitializerError
at firstproject.HibernateUtil.<clinit>(HibernateUtil.java:14)
at firstproject.StudentDAO.addSubject(StudentDAO.java:82)
at firstproject.Test.main(Test.java:12) Caused by: java.lang.NoSuchFieldError: namingStrategy
at org.hibernate.cfg.AnnotationConfiguration.reset(AnnotationConfiguration.java:250)
at org.hibernate.cfg.Configuration.<init>(Configuration.java:125)
at org.hibernate.cfg.Configuration.<init>(Configuration.java:119)
at org.hibernate.cfg.AnnotationConfiguration.<init>(AnnotationConfiguration.java:108)
at firstproject.HibernateUtil.<clinit>(HibernateUtil.java:11)
... 2 more
Run Code Online (Sandbox Code Playgroud)

这是一些代码,可能会有所帮助:

public class HibernateUtil {
    private static final SessionFactory sessionFactory;

    static {
        try {
            sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory(); // HibernateUtil.java:11
        } catch (Throwable ex) {
            System.err.println("Initial session factory creation failed" + ex);
            throw new ExceptionInInitializerError(ex); // HibernateUtil.java:14
        }
    }

    public static SessionFactory getSessionFactory() {
        return …
Run Code Online (Sandbox Code Playgroud)

java hibernate

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

将Json字符串反序列化为C#对象

我第一次尝试使用Philips Hue light api,但我对如何将json字符串反序列化为C#对象有一些疑问。我正在针对我正在使用的Xamarin.iOS应用进行尝试。

这是我的方法,可以从我周围获取灯光数据:

private string getLights()
{
    var url = APIURL + APIKey + LightsEndPoint ; 

    var request = WebRequest.Create(url);
    request.ContentType = "application/json";
    request.Method = "GET";

    using (var response = request.GetResponse() as HttpWebResponse)
    {
        if (response.StatusCode != HttpStatusCode.OK)
            Console.Out.WriteLine(
                "Error fetching data. Server returned status code: {0}",
                response.StatusCode);

        using (var reader = new StreamReader(response.GetResponseStream()))
        {
            var content = reader.ReadToEnd();

            if(string.IsNullOrWhiteSpace(content))
            {
                Console.WriteLine("Response contained empty body...");
            }
            else
            {
                Console.WriteLine("Response Body: \r\n {0}", content);
                var items = JsonConvert.DeserializeObject <Light> …
Run Code Online (Sandbox Code Playgroud)

c# json xamarin.ios deserialization

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

在自定义验证属性中使用DB上下文

我正在尝试在我的Core 2项目中创建一个valdiation属性.它需要根据数据库中保存的现有值列表验证该值.

下面的代码不起作用,它无法访问数据库上下文.

任何想法为什么/如何纠正?

public class BibValidatorAttribute : ValidationAttribute
{
    protected override ValidationResult IsValid(
        object value, ValidationContext validationContext)
    {
        RaceEntryViewModel raceEntry = (RaceEntryViewModel)validationContext.ObjectInstance;
        ApplicationDbContext _context = new ApplicationDbContext();

        var dbraceEntry = _context.RaceEntries.FirstOrDefault(c => c.Id == raceEntry.Id);

        if(raceEntry.BibNumber != dbraceEntry.BibNumber)
        {
            if (value != null)
            {
                var raceentries = from r in _context.RaceEntries
                                  select r;

                var mycount = raceentries.Count(c => c.BibNumber == raceEntry.BibNumber);

                if (mycount != 0)
                {
                    return new ValidationResult("The bib number entered already exists");
                }
                else
                {
                    return ValidationResult.Success; …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core-2.0

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

异步 - 哪些是正确的

从2个以下的场景中,哪一个是在c#中进行异步编程的正确方法?

情景1

public async Task<T1> AddSomethingAsync(param)
{
    return await SomeOtherFunctionFromThirdPartyLibraryForIOAsync(param);
}
Run Code Online (Sandbox Code Playgroud)

然后

List<Task> Tasks=new List<Task>();
foreach(var task in FromAllTasks())
{
    Tasks.Add(AddSomethingAsync(task));
}
await Task.WhenAll(Tasks.AsParallel());
Run Code Online (Sandbox Code Playgroud)

方案2

public async Task<T1> AddSomethingAsync(param)
{
    return SomeOtherFunctionFromThirdPartyLibraryForIOAsync(param);
}
Run Code Online (Sandbox Code Playgroud)

然后

List<Task> Tasks=new List<Task>();
foreach(var task in FromAllTasks())
{
    Tasks.Add(SomeOtherFunctionFromThirdPartyLibraryForIOAsync(task));
}
await Task.WhenAll(Tasks.AsParallel());
Run Code Online (Sandbox Code Playgroud)

2之间唯一的区别是,后来没有await关键字里面的AddSomethingAsync功能.

所以这里是更新 - 我想要知道的是,所有任务应该并行和异步执行.(我的想法是在方案-1中,将在AddSomethingAsync中等待调用,并且在上层阻止下一个循环执行时会受到影响.确认

.net c# c#-5.0

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