在Visual Studio中,您可以执行Add- > Existing Item然后Add as Link从Add下拉按钮.
这很棒.这是让你从另一个项目中添加一个文件,编辑文件也会在原始项目中编辑它.
我想使用此功能在一个解决方案中的所有项目中都有一个配置文件(名为Shared.config).并且该文件始终相同.
解决方案
|
| - 项目1
|- Shared.config [physical]
|- project 2
| - Shared.config [linked]
After publishing, the file indeed ends up in all published projects, so no problem there.
But BEFORE publishing (during development on build) the linked file doesn't really exist. Trying to see the file in the Windows Explorer proves that the file is not in the project directory. Visual …
我想创建一个名为XMLify的mysql函数,它接受一个字符串和一个将返回一个集合的表达式
XMLify(string, expr)
该函数应将集合中每个返回行的每个返回字段包装到其自己的XML标记中.标签的名称应该是字段名称.
小例子:
select XMLify('foo', (SELECT 1 as `a`, 2 as `b` UNION SELECT 3 as `a`, 4 as `b`));
Run Code Online (Sandbox Code Playgroud)
应该返回:
<foo><a>1</a><b>2</b></foo><foo><a>3</a><b>4</b></foo>
Run Code Online (Sandbox Code Playgroud)
我想拥有它,因为它将使我能够运行具有许多连接和/或从属子查询的复杂查询,而无需将冗余数据返回给客户端.
我已经有一个没有我想要构建的功能的解决方法.但这涉及编写难以维护的难题.请参阅下面的示例.
确保字段名称是合法的XML节点名称是为了以后的担心.一旦函数成立,我将考虑一些算法,它将获取字段名称并将其转换为一些合法的XML节点名称.
转义XML数据也是为了以后担心.这将通过一个名为的不同函数来完成,该函数CDATAify将简单地将所有数据包装到<![CDATA[和中]]>,并且将]]>在数据中的任何先前出现中转义]]]]><![CDATA[>.
我无法使用MySQL中的存储函数来完成此操作,因为这些函数不会接受结果集.此外,即使您将SQL作为字符串传递,然后准备语句并执行它,如果您还不知道字段名称,则无法访问这些字段.
所以现在我想知道是否可以使用用户定义的函数(UDF)来完成这个技巧.这是我还没有合作过的东西,我想在你开玩笑之前给你建议.
所以我现在的问题是:
想象一下,有以下3个表格:
users: grades: toys:
+----+------+ +--------+-------+ +--------+--------------+
| id | name | | userid | grade | | userid | toy |
+----+------+ +--------+-------+ +--------+--------------+ …Run Code Online (Sandbox Code Playgroud) 我有两个简单的应用程序:
等待特定tcp端口以供客户端连接的服务器应用程序.然后听他说的话,发回一些反馈并断开那个客户端.
一个表单应用程序连接到服务器应用程序,然后说出一些内容,然后等待反馈并断开与服务器的连接,然后在表单中显示反馈.
虽然服务器应用程序似乎行为正常(我已经使用Telnet对其进行了测试,并且我看到反馈并且我看到反馈后直接发生了断开连接),但表单应用程序似乎并未发现与服务器的断开连接.(即使在服务器断开连接后,TcpClient.Connected似乎也保持正常)
我的问题是:为什么TcpClient.Connected保持正确,我怎么知道服务器是否/何时断开连接?
这是我的完整代码:
表格申请:
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace Sender
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void sendButton_Click(object sender, EventArgs e)
{
TcpClient tcpClient = new TcpClient();
tcpClient.Connect(IPAddress.Parse("127.0.0.1"), 81);
responseLabel.Text = "waiting for response...";
responseLabel.Invalidate();
// write request
NetworkStream networkStream = tcpClient.GetStream();
byte[] buffer = (new ASCIIEncoding()).GetBytes("Hello World! ");
networkStream.Write(buffer, 0, buffer.Length);
networkStream.Flush();
// read response
Thread readThread = …Run Code Online (Sandbox Code Playgroud) 现在我以不同的方式在SO上看过这个问题,但令人惊讶的是不是这种形式:
我有一个需要相互交流的多个Web服务(项目)的解决方案.发布后,这些Web服务中的每一个都可能最终位于具有不同数据库的不同计算机上.为了告诉每个Web服务所有其他Web服务的位置,我想在开发期间维护一个配置文件.
我希望在发布配置后出现在每个已发布的项目中.我希望配置文件在发布后可以编辑,因此我可以快速迁移某个Web服务,然后只编辑其他Web服务的所有配置文件.
我不想在数据库中这样做,对于配置文件,它自己也应该保持对数据库的连接设置.
我遇到了以下想法/想法/问题:
System.Configuration.ConfigurationManager.OpenExeConfiguration("shared.config").只需要确保shared.config将与DLL一起发布.我赞成这个解决方案,因为它还允许我在每个项目中保留web.config,只有项目特定的设置.并让shared.config具有共享设置.但是,我在读到这一点时,不应该轻易考虑这一点,并且可能会产生一些不必要的副作用,例如文件访问问题; 虽然我想知道这是否适用于我的情况.此外,我想请求您的帮助,如何实际实现这一点,因为我不认为Visual Studio支持开箱即用的DLL项目的app.config.
<appSettings configSource="shared.config" />指向该项目中的链接文件.虽然我找不到任何理由不这样做,但首先实施失败了.看来(至少在开发期间),c#无法找到链接的shared.config文件.我猜测创建链接文件后链接文件不会立即完成,也不会维护,但是文件只会在我发布时复制到项目中.因此在开发期间丢失文件.它是否正确?
我希望能够:
我想在以下代码中实现它.该代码包含一个对象(MyObject),它提供了遍历多维数组或链接的哈希表集的方法.如果请求路径中的节点不存在,它也应该防止出错.我无法弄清楚的部分是代码中的注释部分:
public class MyObject
{
private object myObject = null;
public MyObject()
{
}
public MyObject(object value)
{
myObject = value;
}
public void setValue(object value)
{
myObject = value;
}
public object getValue()
{
return myObject;
}
public object this[string key]
{
get
{
if (myObject == null)
{
return new MyObject(null);
}
else
{
// determine what of type/class myObject is and if it has indexing operators defined
// if defined, access them and return …Run Code Online (Sandbox Code Playgroud) 对于与一组有限的其他服务器联系的C#webservice,我希望为每个服务器创建一个我希望能够联系的HTTP连接池.
课程的基本概念:
这样,当我想发送HttpWebRequest时,我就有了现成的连接,在我想要使用它时节省了建立连接的时间.
目前我不知道这是否是HttpWebRequest的默认功能.很抱歉,如果我要求显而易见的话.谷歌搜索只导致我对Java的类似问题.
问题1:.NET/c#中是否存在这样的问题?
问题2:如果没有,您知道的互联网上是否存在此资源?
问题3:如果没有,如何自己建设一个?
我有一个带有InnoDB表的MySQL数据库,总计超过10个GB的数据,我想从MySQL 5.5迁移到MySQL 5.7.我有一个看起来有点像的查询:
SELECT dates.date, count(mySub2.myColumn1), sum(mySub2.myColumn2)
FROM (
SELECT date
FROM dates -- just a table containing all possible dates next 5 years
WHERE date BETWEEN '2016-06-01' AND '2016-09-03'
) AS dates
LEFT JOIN (
SELECT o.id, time_start, time_end
FROM order AS o
INNER JOIN order_items AS oi on oi.order_id = o.id
WHERE time_start BETWEEN '2016-06-01' AND '2016-09-03'
) AS mySub1 ON dates.date >= mySub1.time_start AND dates.date < mySub1.time_end
LEFT JOIN (
SELECT o.id, time_start, time_end
FROM order AS …Run Code Online (Sandbox Code Playgroud) 在IIS中,我有一个重要的应用程序(名为treasure),带有一个子应用程序(名为blog).从安全的角度来看,我决定在他们自己的应用程序池下运行这两个应用程序,并将每个应用程序的文件系统访问权限限制在他们自己的目录中.
因此父应用程序的目录只能由父应用程序的应用程序池用户访问.(C:\inetpub\wwwroot\Treasure\仅适用于IIS APPPool\treasure)
子应用程序的目录只能由子应用程序的应用程序池用户访问.(C:\inetpub\wwwroot\blog仅适用于IIS APPPool\blog)
现在如果我去http://www.treasure.blah/blog/,我得到一个HTTP错误500.19 - 由于权限不足而无法读取配置文件 - C:\ inetpub\wwwroot\Treasure\web.config lication?
我已经知道可以从父应用程序的web.config进行设置<location path="." inheritInChildApplications="false"/>.但我的问题当然是孩子无法读取web.config,但它尝试失败.所以这对我没有帮助.
如何配置我的子应用程序,以便它不会尝试从父应用程序读取web.config?
Google 跟踪代码管理器 (GTM) 会缩小所有标签和代码片段并提供缩小的服务。这很好。
但加载标签本身的 javascript 并未最小化。
例如: https: //www.googletagmanager.com/gtm.js? id=GTM-WPGCQNW
// Copyright 2012 Google Inc. All rights reserved.
(function(w,g){w[g]=w[g]||{};w[g].e=function(s){return eval(s);};})(window,'google_tag_manager');(function(){
var data = {
"resource": {
"version":"137",
"macros":[{
"function":"__jsm",
"vtp_javascript":["template","(function(){var a=new Date(document.querySelector('meta[name\\x3d\"article_date_original\"]').content);return a.toISOString()})();"]
...
Run Code Online (Sandbox Code Playgroud)
在这里您可以看到总的 javascript 并未缩小,但每一行的内容都缩小了。
我的问题是,是否有答案:如何链接到缩小版本?谷歌也提供这个吗?
我是jquery的新手,基本上,我决定将Jquery用于实际用途,所以我构建了以下脚本:
$(function () {
$(document).on('keydown', checkey);
var index = 0,
$items = $('ul li a');
function checkey(e) {
// console.log($items);
if (e.which == 38) {
// key up
index -= 1;
};
if (e.which == 40) {
//key down
index += 1;
}
console.log(index);
$items.eq(index).trigger('focus');
}
});
Run Code Online (Sandbox Code Playgroud)
使用此脚本,您可以使用向上和向下箭头键导航菜单.
小提琴在这里.现在我有一个关于我使用的代码的问题,特别是下面的代码行:
$items.eq(index).trigger('focus');
Run Code Online (Sandbox Code Playgroud)
现在,索引变量在我的脚本中递增和递减,但是当我继续按下键盘,并且索引继续递减并且低于0 IE -1,-2,-3,-4 ...等时$items.eq(index).trigger('focus');,此行仍然工作,我不希望它与负值一起工作,我期待它只能在0-4工作.
那么负值如何以及为何与以下陈述一起使用:
eg. $items.eq(-2).trigger('focus'); ??
Run Code Online (Sandbox Code Playgroud)
注意:在小提琴中,请检查控制台并向上和箭头向下试验,以了解我在说什么.
c# ×5
mysql ×2
web-config ×2
build-events ×1
database ×1
disconnect ×1
iis-8 ×1
javascript ×1
jquery ×1
migration ×1
mysql-udf ×1
performance ×1
security ×1
tcpclient ×1
timeout ×1
xml ×1