是否有任何工具或Visual Studio 2010扩展允许我查看配置文件转换的输出,而不必发布整个项目?执行转换的过程是否可以直接调用?
编辑
经过一番谷歌搜索,我发现了这个:
步骤4:从命令行为"Staging"环境生成新的转换后的web.config文件
通过转到开始 - >程序文件 - > Visual Studio v10.0 - > Visual Studio工具 - > Visual Studio 10.0命令提示符打开Visual Studio命令提示符
键入"MSBuild"应用程序项目文件的路径(.csproj/.vbproj)"/ t:TransformWebConfig/p:Configuration = Staging"并按Enter键,如下所示:
转换成功后,"Staging"配置的web.config将存储在项目根目录下的obj - > Staging文件夹下(在解决方案资源管理器中,您可以通过首先取消隐藏隐藏文件来访问此文件夹):
- 在解决方案资源管理器中,单击按钮以显示隐藏文件
- 打开Obj文件夹
- 导航到您的活动配置(在我们当前的情况下,它是"暂存")
- 你可以在那里找到转换后的web.config
您现在可以验证生成的新staging web.config文件是否具有已更改的连接字符串部分.
这对我来说并不是一个完美的解决方案,因为它仍然需要构建整个项目 - 至少使用他发布的命令.如果有人知道如何跳过使用MSBuild命令的构建步骤会有所帮助(尽管听起来有点不太可能).
编辑2
我还在CodePlex上找到了这个配置转换工具,它提供了一些很好的功能来扩展转换过程.这个工具是我所见过的最接近我正在寻找的功能的工具,并且是开发创建预览的扩展的一个很好的起点.它使用Microsoft.Web.Publishing.Tasks库来执行转换,而不依赖于构建实际项目.
web-config configuration-files visual-studio-2010 slowcheetah
这是相当尴尬的,但我不小心从SQL Server 2008用户列表中删除了我的Windows帐户,我不能为我的生活找出如何重新添加自己,因为我没有登录权限.
服务器在我的机器上运行,只有其他具有访问权限的Windows用户是IUSR,NETWORK SERVICE和SYSTEM.有什么我可以做的没有重新安装?
随着MVC 2添加了HtmlHelper EditorFor(),无法为给定的Model对象创建强类型的Display和Editor模板,在摆弄它之后,我有点难过如何将其他Model数据传递给编辑器而不会丢失编辑器控件的强类型.
经典示例:产品有类别.ProductEditor有一个包含所有类别名称的DropDownList.ProductEditor是对产品的强类型,我们需要传递类别的选择列表以及产品.
使用标准视图,我们将模型数据包装在一个新类型中并传递它.如果我们传入一个包含多个对象的混合模型,那么使用EditorTemplate会丢失一些标准功能(我注意到的第一件事就是所有的LabelFor/TextBoxFor方法都生成像"Model.Object"这样的实体名称,而不仅仅是"对象" ").
我做错了还是Html.EditorFor()有一个额外的ViewDataDictionary/Model参数?
我已经将我的弹性搜索实现配置为通过映射中的id来对结果进行分析,当我向用户显示该方面时,我需要能够显示代表它的人类可读名称.我需要的数据都存在于映射中,但我不确定如何将其作为方面的一部分返回.当然有可能吗?
考虑下面的例子,我想小面给我一些方法来关联thingId
到thingName
(或其他任何thing
可能需要的属性):
制图
{
thingId,
thingName
}
Run Code Online (Sandbox Code Playgroud)
分面查询
{
"facets":{
"things":{ "terms":{ "field":"thingId" } }
}
}
Run Code Online (Sandbox Code Playgroud)
结果
{
"hits":{
"total":3,
"max_score":1.0,
"hits":[
...
]
},
"facets":{
"things":{
"_type":"terms",
"missing":0,
"total":3,
"other":0,
"terms":[
{
"term":"5",
"count":1
},
{
"term":"4",
"count":1
},
{
"term":"2",
"count":1
}
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
编辑
关于Solr的这个答案建议我将两个属性(thingName
和thingId
)都面对,然后循环遍历两个方面结果集,假设项目的顺序是相同的.我不知道会有多可靠,但这是一个选择.
编辑2
这个答案表明,如果不将两个领域合并为一个单一的价值并且面对这个问题,就不可能做我想做的事情:thingId|thingName
.不理想.
编辑3
这个答案建议将这些值组合成一个字段并在其上进行分面(如上所述),但它使用术语脚本来实现组合,因此不需要我索引值的组合形式.仍然不完美,但似乎是最糟糕的选择.
我注意到很多东西来回的一件事是将使用语句放在C#代码文件中 - 无论是在最外层还是在命名空间内.我理解using语句的位置会影响该文件中引用的范围,但我不明白的是,在大多数情况下,有人会想要在其命名空间中使用它们的using语句.
在几乎所有情况下,单个文件中只存在一个名称空间声明,因此使用using语句的范围似乎/(是?)无效.如果一个人在同一个文件中放置了多个类型和多个命名空间,那么使用语句进行范围化就很有意义了,但即使在具有一个命名空间的文件中,我仍然会看到很多这种情况.为什么?
using System;
namespace MyNamespace
{
using System.Text;
public class MyClass {
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
在整个项目中,看似不必要的一个例子是ASP.NET MVC源代码.
这应该非常简单,但我无法使用Windows身份验证为SQL Server 2008的本地副本提供有效的连接字符串.我已经尝试使用数据链接属性工具来创建连接字符串,它没有连接问题,但当我复制粘贴生成的字符串到我的ADODB.Connection对象的ConnectionString属性时,我得到各种有趣和不同的错误.
Set conn = Server.CreateObject("ADODB.Connection")
conn.ConnectionString = "SQLNCLI10.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=climb4acure;Data Source=(local);"
Run Code Online (Sandbox Code Playgroud)
Microsoft OLE DB Service Components (0x80040E21)
Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.
我尝试了各种类似的连接字符串,但我找不到一个可以使用Windows身份验证的连接字符串.有人能指出我正确的方向吗?
谢谢!
在尝试在iOS应用中设置Apple Pay时,我们遇到了API问题和预填充信息.我们的用户流程允许用户在使用Apple Pay付款之前手动设置他们的地址,电子邮件和电话,因此我们希望确保在他们决定的情况下使用他们的输入填写Apple Pay提示.
根据开发指南,这应该像在request.shippingContact中设置这些值一样简单.但是,当我们这样做时,将忽略这些值.
文档没有告诉我们什么吗?
PKContact *contact = [[PKContact alloc] init];
contact.emailAddress = @"john@appleseed.com";
contact.phoneNumber = [[CNPhoneNumber alloc] initWithStringValue:@"5555555"];
NSPersonNameComponents *name = [[NSPersonNameComponents alloc] init];
name.givenName = @"John";
name.familyName = @"Appleseed";
contact.name = name;
request.billingContact = contact;
request.shippingContact = contact;
request.requiredBillingAddressFields = PKAddressFieldAll;
request.requiredShippingAddressFields = PKAddressFieldEmail | PKAddressFieldPhone;
Run Code Online (Sandbox Code Playgroud)
我在MySQL中构建了一个数据库,我试图用Entity Framework映射它,但每当我尝试向EF上下文添加超过20个表时,我就会开始运行"GenerateSSDLException".
尝试从数据库更新时发生"Microsoft.Data.Entity.Design.VisualStudio.ModelWizard.Engine.ModelBuilderEngine + GenerateSSDLException"类型的异常.异常消息是:'执行命令定义时发生错误.有关详细信息,请参阅内部异常.
命令执行期间遇到致命错误.
超时已过期.操作完成之前经过的超时时间或服务器没有响应.
受影响的表没有什么特别之处,并且它永远不会是相同的表,只是在添加了某个(非特定)数量的表后,如果没有"超时过期"错误,则无法再更新上下文.有时它只留下一张桌子,有时它只有三张; 结果非常不可预测.此外,在错误之前可以添加的表数的变化向我表明,问题可能在于生成的查询的大小以更新包括现有表定义的上下文,以及新表.正在加入它.本质上,SQL查询变得太大,并且由于某种原因而无法执行.
如果我使用EdmGen2生成模型,它可以正常工作,但生成的EDMX文件无法在Visual Studio中更新而不会产生上述异常.
很可能这个问题的根源在于Visual Studio中的工具,因为EdmGen2工作正常,但我希望其他人可以就如何处理这个非常独特的问题提供一些建议,因为看起来我不是唯一经历过它的人.
一位同事提出的一个建议是维护两个单独的EBMX文件和一些表格交叉,但在我看来,这似乎是一个非常难看的修复.我想这是我尝试使用"新技术"的原因.:(
我有一个购物车的结账流程,当前用户在完成购买后,会在会话中存储信用卡数据以供检索.设置购买过程,使得用户输入信用卡,查看确认页面,然后完成订单.确认和终止操作是需要访问信用卡数据的唯一两个操作,并且为了安全,所有其他操作都应该丢弃它.
如果没有在基本控制器中进行反射来检查用户正在调用的当前操作,我想不出一种优雅的方法来丢弃不允许的请求上的数据.此外,如果用户在输入数据后未能提出另一个请求,它将在会话中停留,直到他们回到网站 - 每当发生这种情况时.我提出的一个建议是将数据加密到隐藏字段并依赖SSL票证来防止缓存标记.这似乎是一种相当安全的方法,但我不太喜欢将信用卡数据放在用户可访问的位置加密或不加密的想法.存储在数据库中是因为客户端不希望保存信用卡数据.
在多个页面请求中临时保存信用卡信息等敏感数据的理想方法是什么?
也许有人可以告诉我这是否是一个充分的方法.我已经设置了存储在会话中的购物车,每次创建对象时都会生成一个唯一的Guid,并且Guid用作加密和解密我使用Rijndael算法序列化的信用卡数据的密钥.然后,加密的卡数据在隐藏字段中传递给用户,并在单击完成后反序列化.最终结果是一个像这样的字符串:
VREZ%2bWRPsfxhNuOMVUBnWpE%2f0AaX4hPgppO4hHpCvvwt%2fMQu0hxqA%2fCJO%2faOEi%2bX3n9%2fP923mVestb7r8%2bjkSVZDVccd2AJzCr6ak7bbZg8%3d
Run Code Online (Sandbox Code Playgroud)
public static string EncryptQueryString(object queryString, Guid encryptionKey)
{
try
{
byte[] key = Encoding.UTF8.GetBytes(ShortGuid.Encode(encryptionKey).Truncate(16));//must be 16 chars
var rijndael = new RijndaelManaged
{
BlockSize = 128,
IV = key,
KeySize = 128,
Key = key
};
ICryptoTransform transform = rijndael.CreateEncryptor();
using (var ms = new MemoryStream())
{
using (var cs = new CryptoStream(ms, transform, CryptoStreamMode.Write))
{
byte[] buffer = Encoding.UTF8.GetBytes(queryString.ToString());
cs.Write(buffer, 0, buffer.Length);
cs.FlushFinalBlock();
cs.Close();
}
ms.Close();
return HttpUtility.UrlEncode(Convert.ToBase64String(ms.ToArray()));
}
} …
Run Code Online (Sandbox Code Playgroud) ASP.NET MVC 2 Preview 1中的一个新功能是支持编辑器模板和显示模板的概念,它允许您使用简单的HTML帮助程序调用预定义如何呈现给定对象以进行显示或编辑:
<%=Html.EditorFor(customer => customer) %>
<%=Html.DisplayFor(customer => customer) %>
Run Code Online (Sandbox Code Playgroud)
这很酷,但我并没有真正看到它和部分视图之间的区别,它们用于相同的目的.此外,在示例中,我看到编辑器模板不包含实际的表单标签,并且如果我需要为给定的编辑器提供一些客户端功能(比如通过jQuery),我无法安全地将代码放入模板,因为我在窗体上没有静态句柄我在客户端添加逻辑.在我正在处理的应用程序中,我有一个编辑器模板和部分视图的混合物,我将其渲染以编辑内容.根据表单的复杂性,我创建了一个编辑器,因为我选择了一种方法而不是另一种方法,但这当然会给应用程序带来不希望的不一致程度.
为什么在部分视图上使用模板或反之亦然?此外,使用编辑模板时,将编辑器添加客户端逻辑而不将其复制到使用该编辑器的每个视图中的理想方法是什么?
asp.net-mvc ×3
ado ×1
applepay ×1
asp-classic ×1
c# ×1
cookies ×1
database ×1
dry ×1
edmgen ×1
facet ×1
hidden-field ×1
ios ×1
javascript ×1
login ×1
mysql ×1
preview ×1
scope ×1
session ×1
slowcheetah ×1
sql-server ×1
templates ×1
web-config ×1