小编Lui*_*iso的帖子

有没有办法在不刷新页面的情况下更改浏览器的地址栏?

我正在开发一个网络应用程序.在其中我有一个名为类别的部分,每当用户点击其中一个类别时,更新面板就会加载相应的内容.

用户点击类别后,我想更改浏览器的地址栏网址

www.mysite.com/products 
Run Code Online (Sandbox Code Playgroud)

喜欢的东西

www.mysite.com/products/{selectedCat} 
Run Code Online (Sandbox Code Playgroud)

没有刷新页面.
我可以使用某种JavaScript API来实现这一目标吗?

url address-bar

91
推荐指数
4
解决办法
8万
查看次数

在HttpClient中使用await的异步调用永远不会返回

我正在C#Win8 CP上基于xaml的metro应用程序内部进行调用; 此调用只是命中一个Web服务并返回JSON数据.

HttpMessageHandler handler = new HttpClientHandler();

HttpClient httpClient = new HttpClient(handler);
httpClient.BaseAddress = new Uri("http://192.168.1.101/api/");

var result = await httpClient.GetStreamAsync("weeklyplan");
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(WeeklyPlanData[]));
return (WeeklyPlanData[])ser.ReadObject(result);
Run Code Online (Sandbox Code Playgroud)

它挂起,awaithttp呼叫几乎立即返回(通过提琴手确认); 就好像await被忽略了它只是挂在那里.

在您询问之前 - 是 - 打开了专用网络功能.

任何想法为什么会挂起?

c# asynchronous async-await dotnet-httpclient

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

使用Web API返回匿名类型

使用MVC时,返回adhoc Json很容易.

return Json(new { Message = "Hello"});
Run Code Online (Sandbox Code Playgroud)

我正在使用新的Web API寻找此功能.

public HttpResponseMessage<object> Test()
{    
   return new HttpResponseMessage<object>(new { Message = "Hello" }, HttpStatusCode.OK);
}
Run Code Online (Sandbox Code Playgroud)

这会引发异常,因为DataContractJsonSerializer无法处理匿名类型.

我有这个替换此JsonNetFormatter基于Json.Net.如果我使用,这可行

 public object Test()
 {
    return new { Message = "Hello" };
 }
Run Code Online (Sandbox Code Playgroud)

但是我没有看到使用Web API的重点,如果我不回来HttpResponseMessage,我会更好地坚持使用vanilla MVC.如果我尝试使用:

public HttpResponseMessage<object> Test()
{
   return new HttpResponseMessage<object>(new { Message = "Hello" }, HttpStatusCode.OK);
}
Run Code Online (Sandbox Code Playgroud)

它将整个序列化HttpResponseMessage.

任何人都可以指导我一个解决方案,我可以在其中返回匿名类型HttpResponseMessage

c# json json.net asp.net-web-api

71
推荐指数
5
解决办法
6万
查看次数

在C#/ .NET中组合路径和文件名的最佳方法是什么?

将路径与文件名组合的最佳方法是什么?

也就是说,给予c:\foobar.txt,我想要c:\foo\bar.txt.

鉴于c:\foo..\bar.txt,我想要一个错误或c:\foo\bar.txt(所以我不能Path.Combine()直接使用).同样的c:\foobar/baz.txt,我想要一个错误或c:\foo\baz.txt(不c:\foo\bar\baz.txt).

我意识到,我可以检查文件名不包含'\'或'/',但这还够吗?如果没有,那么正确的检查是什么?

.net c# filenames path

62
推荐指数
2
解决办法
7万
查看次数

web.config编译/组件元素有什么作用?

我有一个问题,在新的MVC项目上工作,一旦我添加Html.Partial("Name")到我的_Layout.cshtml页面,ASP.NET将在页面加载时抛出此异常:

错误CS0012:定义了"System.Object"类型不在引用的程序集中.添加对程序集"System.Runtime,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a"的引用.

修复是将其添加到web.config编译元素:

  <assemblies>
    <add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  </assemblies>
Run Code Online (Sandbox Code Playgroud)

我很想知道为什么这会解决这个问题.

奇怪的是,我正在使用的新MVC应用程序有一大堆WebForms ASPX页面可供使用.我已经将大量遗留的WebForms内容复制到这个新的MVC项目中,大量的代码,一切正常,没有Html.Partial调用,甚至我的MVC视图呈现.

那么地球上究竟发生了什么?这个配置做了什么,为什么不是正常的项目引用和目标框架设置呢?

.net asp.net asp.net-mvc-4

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

如何使用ConfigurationManager

我想使用App.config存储一些设置.我尝试使用下一个代码从配置文件中获取参数.

private string GetSettingValue(string paramName)
{
    return String.Format(ConfigurationManager.AppSettings[paramName]);
}
Run Code Online (Sandbox Code Playgroud)

我也System.Configuration为它添加了(我使用了一个单独的类),在App.config文件中我有:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  <appSettings>
    <add key ="key1" value ="Sample" />
  </appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

但是我在尝试使用时遇到了错误ConfigurationManager- ConfigurationManager can't exist in such context但是我已经添加了System.Configuration.还是我错过了什么?

编辑:

带配置的类(完整视图)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Configuration;

namespace browser
{
    class ConfigFile
    {
        private string GetSettingValue(string paramName)
        {
            return String.Format(ConfigurationManager.AppSettings[paramName]);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

EDIT2

添加它的外观

在此输入图像描述

这意味着问题不是在使用过程中,ConfigurationManger而是在使用之前 …

.net c# configuration config winforms

38
推荐指数
2
解决办法
13万
查看次数

我什么时候应该使用ConcurrentDictionary和Dictionary?

我总是对选择哪一个感到困惑.当我看到它,我用DictionaryList,如果我想两个数据类型为KeyValue这样我就可以很容易地找到它的价值key,但我总是困惑,如果我要使用一个ConcurrentDictionaryDictionary

在我离开之前没有对此进行太多研究之前我已经尝试过,但似乎谷歌并没有真正得到任何关于Dictionaryvs ConcurrentDictionary但是每个人都有一些东西.

我之前曾问过这样的朋友,但他们所说的只是:" ConcurrentDictionary如果你在代码中使用了很多字典就会使用",我真的不想纠缠他们来更详细地解释它.任何人都可以扩展这个吗?

c# dictionary concurrentdictionary

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

在typescript中,String.Replace只替换第一次出现的匹配字符串.需要String.replaceAll()方法

来自其他编程语言,String.replace()通常替换所有匹配的字符串.但是,javascript/typescript不是这种情况.我在网上找到了许多使用正则表达式的javascript解决方案.由于特殊字符,我立即遇到了这个解决方案的问题.我怀疑有一种方法可以用正则表达式来解决这个问题,但我不是一个正则表达式专家.正如我之前所做的那样,我创造了自己的方法.

也许有一些方法可以通过使用自定义StringBuilder()类来提高性能.我欢迎任何想法.

public static Replace = function (originalString: string, oldValue: string, newValue: string, ignoreCase: boolean = false) {
    //
    // if invalid data, return the original string
    //
    if ((originalString == null) || (oldValue == null) || (newValue == null) || (oldValue.length == 0) )
        return (originalString);
    //
    // do text replacement
    //
    var dest = "";        
    var source: string = originalString;
    if (ignoreCase) 
    {
        source = source.toLocaleLowerCase();
        oldValue = oldValue.toLowerCase();
    } …
Run Code Online (Sandbox Code Playgroud)

javascript typescript

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

ASP.NET MVC4异步控制器 - 为什么要使用?

我试图理解为什么以及何时应该使用async控制器操作.最终,当我await在其中使用时,它将等待操作完成以返回视图.

例如

public async Task<ActionResult> TryMe()
{
   await SomeActionAsync();
   return View();
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如果我使用async或不使用async,则Action将花费相同的时间来执行.

如果我没有尝试并行运行至少2个慢速操作(并非彼此依赖),我认为没有任何理由使用async控制器操作.

如果我错了,请纠正我.我想我在这里遗漏了一些东西.

asp.net asynchronous task-parallel-library async-await asp.net-mvc-4

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

在SQL Azure中,如何创建只读用户

我想创建一个SQL Azure用户并授予她对少数几个DB的只读访问权限,我可以使用哪个脚本来实现这一目标?

sql t-sql sql-server azure-sql-database

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