我用SQL Server Management Studio创建了一个数据库,我现在想在我的C#应用程序中使用它.我需要连接字符串?
我在哪里可以找到连接字符串,我的数据库存储在哪里?
我是否必须发布它或类似的内容,还是在我的文档中?
using (var conn = new SqlConnection("your connection string to the database"))
Run Code Online (Sandbox Code Playgroud)
如何获取连接字符串?我在哪里可以找到将粘贴复制到上一节的连接字符串?
如何发布我的数据库以便Visual Studio可以获取它?然后我可以拉那里的连接字符串?
从".Net中的依赖注入"一书中我知道应该在应用程序的组合根处创建对象图,这对我来说在使用IoC容器时很有意义.
在我尝试使用DI时所见到的所有应用程序中,总有两个构造函数:一个具有依赖关系作为参数的构造函数和一个没有参数的"默认"构造函数,而这些构造函数又调用另一个"newing"所有的依赖关系,但在上述书中,这被称为"混蛋注射反模式",这就是我曾经知道的"穷人的注射".
现在考虑所有这些,我会说"穷人注射"只是不使用IoC容器而是在所述组合根上手动编码所有对象图.
所以我的问题是:
谢谢
这是我在App_Start/WebApiConfig.cs中对Web API的配置:
public static void Register(HttpConfiguration config)
{
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);.....
Run Code Online (Sandbox Code Playgroud)
这是我的global.asax类:
GlobalConfiguration.Configure(WebApiConfig.Register);
Run Code Online (Sandbox Code Playgroud)
但是每当应用程序启动时,我都会遇到以下异常:
路径模板分隔符'/'不能连续出现.它必须由参数或文字值分隔
堆栈跟踪:
at System.Web.Http.Routing.RouteParser.Parse(String routeTemplate)
at System.Web.Http.Routing.DirectRouteFactoryContext.CreateBuilder(String template, IInlineConstraintResolver constraintResolver)
at System.Web.Http.Routing.DirectRouteFactoryContext.CreateBuilderInternal(String template)
at System.Web.Http.Routing.DirectRouteFactoryContext.CreateBuilder(String template)
at System.Web.Http.RouteAttribute.System.Web.Http.Routing.IDirectRouteFactory.CreateRoute(DirectRouteFactoryContext context)
at System.Web.Http.Routing.AttributeRoutingMapper.CreateRouteEntry(String prefix, IDirectRouteFactory factory, IReadOnlyCollection`1 actions, IInlineConstraintResolver constraintResolver, Boolean targetIsAction)
at System.Web.Http.Routing.AttributeRoutingMapper.AddRouteEntries(SubRouteCollection collector, String prefix, IReadOnlyCollection`1 factories, IReadOnlyCollection`1 actions, IInlineConstraintResolver constraintResolver, Boolean targetIsAction)
at System.Web.Http.Routing.AttributeRoutingMapper.AddRouteEntries(SubRouteCollection collector, HttpControllerDescriptor controller, IInlineConstraintResolver …
Run Code Online (Sandbox Code Playgroud) Serilog有一种方便的对象解构方法,如下例所示:
logger.Debug(exception, "This is an {Exception} text", exception);
logger.Debug(exception, "This is an {@Exception} structure", exception);
Run Code Online (Sandbox Code Playgroud)
第一行导致记录器将异常记录为纯文本(通过调用ToString()),第二行使记录器将异常属性写为单独的字段.但是这个重载呢:
logger.Debug(exception, "This is an exception", exception);
Run Code Online (Sandbox Code Playgroud)
这个作为第一个参数使用异常,它总是写成一个字符串.我想要做的是以结构化的方式启用日志记录异常.是否可以配置Serilog来实现这一目标?
UPDATE.我想这个问题会导致记录异常的另一个方面:如何确保使用异常属性来丰富消息(因此它们以结构化的方式记录到富散问件,如Elasticsearch),而无需将所有异常属性写入呈现的文本消息(所以纯文本记录器没有大量的异常细节).
我需要将一个额外的参数传递.done
给jquery ajax调用的promise回调:
$.post("MyUrl", JSON.stringify(data))
.done(onMyUrlLoaded);
Run Code Online (Sandbox Code Playgroud)
标准回调,如下所示:
function onMyUrlLoaded(data, textStatus, jqXHR) { /* function code */ };
Run Code Online (Sandbox Code Playgroud)
但我需要将一个额外的参数传递给我的回调,如下所示:
function onMyUrlLoaded(data, textStatus, jqXHR, extraParam) { /* code */ };
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
注意:这个问题不是重复的,因为它特别是关于promise回调.除此之外,这个问题比被称为复制的问题还要早两年,并给出了更全面的答案,以及有关承诺的具体答案.
在我的应用程序中,我试图在两个标签之间创建一个定制/时尚的水平线.我在搜索引擎优化和谷歌搜索,但它只有代码.如何使用故事板添加水平线?
在Android中,我使用XML设计了以下行.
如何在iOS中创建相同的行?
我试图让Knockout组件在初始化后绑定,ko.applyBindings();
这样我就可以动态添加自定义元素.
在我的原始帖子中,我提到通过ajax加载内容,但是当使用类似jQuery的东西将自定义元素添加到DOM时,我的问题就出现了append
.
这是一个例子:
$(function() {
// Register a simple widget:
ko.components.register('like-widget', {
template: '<div class="alert alert-info">This is the widget</div>'
});
// Apply bindings
ko.applyBindings();
// Wire up 'add' button:
$('#btnAdd').on('click', function() {
$('#addZone').append("<like-widget></like-widget>");
});
});
Run Code Online (Sandbox Code Playgroud)
<link data-require="bootstrap-css@*" data-semver="3.2.0" rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<body>
Here's a widget, declared inline:
<like-widget></like-widget>
<button id='btnAdd'>Add a new widget to the grey box:</button>
<br/><br/>
<div id='addZone' class="well">
Widgets will be appended here
</div>
<p>When you run this …
Run Code Online (Sandbox Code Playgroud)我正在尝试添加API版本,我的计划是为不同命名空间中的每个版本创建一个控制器.我的项目结构如下所示(注意:每个版本没有单独的区域)
Controllers
|
|---Version0
| |
| |----- ProjectController.cs
| |----- HomeController.cs
|
|---Version1
|
|----- ProjectController.cs
|----- HomeController.cs
Run Code Online (Sandbox Code Playgroud)
我正在使用RoutingAttribute作为路由.因此,Version0中的ProjectController具有路由功能
namespace MyProject.Controllers.Version0
{
class ProjectController : BaseController
{
...
[Route(api/users/project/getProjects/{projectId})]
public async GetProjects(string projectId)
{
...
}
}
}
Run Code Online (Sandbox Code Playgroud)
和Version1中的ProjectController具有路由功能
namespace MyProject.Controllers.Version1
{
class ProjectController : BaseController
{
...
[Route(api/v1/users/project/getProjects/{projectId})]
public async GetProjects(string projectId)
{
...
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用该服务时,我得到404-NotFound.
如果我将控制器重命名为具有唯一名称(Project1Controller和Project2Controller),则路由可以正常工作.但是,我试图避免重命名以简化.
我按照此链接解决了问题,但没有帮助.我确实创造了一些领域但仍然没有成功.在global.aspx文件中添加路由逻辑没有帮助.命名空间也不起作用. http://haacked.com/archive/2010/01/12/ambiguous-controller-names.aspx/
上面的链接建议创建区域,但属性路由不支持按链接区域:http: //www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-在-Web的API-2
还有其他解决方案吗?RoutingAttributes有错误吗?
谢谢!
c# asp.net asp.net-web-api asp.net-web-api-routing asp.net-web-api2
我试图将一些记录分为5分钟,15分钟,30分钟和60分钟:
SELECT AVG(value) as "AvgValue",
sample_date/(5*60) as "TimeFive"
FROM DATA
WHERE id = 123 AND sample_date >= 3/21/2012
Run Code Online (Sandbox Code Playgroud)
我想运行几个查询,每个查询将我的平均值分组为所需的时间增量.所以5分钟的查询将返回如下结果:
AvgValue TimeFive
6.90 1995-01-01 00:05:00
7.15 1995-01-01 00:10:00
8.25 1995-01-01 00:15:00
Run Code Online (Sandbox Code Playgroud)
30分钟的查询将导致:
AvgValue TimeThirty
6.95 1995-01-01 00:30:00
7.40 1995-01-01 01:00:00
Run Code Online (Sandbox Code Playgroud)
该datetime
列的yyyy-mm-dd hh:mm:ss
格式
我收到了我的datetime
列的隐式转换错误.任何帮助深表感谢!
只是尝试将一些代码从一个工作项目拼接到另一个工作项目."from"项目使用"属性路由",您可以[Route(…)]
在Web API控制器模块中嵌入指令,以指示HTTP消息应路由到哪个服务例程.
在"from"项目中正常工作,但在"to"项目中,我得到构建错误"找不到类型或命名空间名称'Route'(您是否缺少using指令或程序集引用?)"
我已经尝试将using
"from"项目中的所有语句复制到"to"项目,但这没有明显的效果.没有MS文档表明需要NuGet包(甚至是using
声明).这两个项目都应该是ASP.NET MVC 4.
(是的,我用config.MapHttpAttributeRoutes();
声明更新了WebApiConfig.cs .)
有任何想法吗??
c# ×5
asp.net ×3
.net ×2
javascript ×2
jquery ×2
sql-server ×2
ajax ×1
architecture ×1
exception ×1
ios ×1
ios5 ×1
iphone ×1
knockout.js ×1
logging ×1
oop ×1
promise ×1
serilog ×1
sql ×1
uiview ×1
url-routing ×1