小编Sha*_*ica的帖子

索引如何处理视图?

有人可以用简单的英文向我解释一个视图的索引是如何工作的吗?我对表上的索引有一个相当简单的理解; 索引视图的工作方式与仅让底层表上的索引自然地完成它们的工作方式有何不同?

sql sql-server indexing views indexed-view

17
推荐指数
3
解决办法
3万
查看次数

WCF合同不匹配问题

我有一个客户端控制台应用程序与WCF服务通信,我收到以下错误:"服务器没有提供有意义的答复;这可能是由合同不匹配,过早的会话关闭或内部服务器错误引起的."

我认为这是因为合同不匹配但我无法弄清楚原因.该服务本身运行良好,两个部分一起工作,直到我添加了模拟代码.

任何人都可以看到有什么问题?

这是客户端,全部用代码完成:

NetTcpBinding binding = new NetTcpBinding();
binding.Security.Mode = SecurityMode.Message;
binding.Security.Message.ClientCredentialType = MessageCredentialType.Windows;

EndpointAddress endPoint = new EndpointAddress(new Uri("net.tcp://serverName:9990/TestService1"));
ChannelFactory<IService1> channel = new ChannelFactory<IService1>(binding, endPoint);
channel.Credentials.Windows.AllowedImpersonationLevel = TokenImpersonationLevel.Impersonation;
IService1 service = channel.CreateChannel();
Run Code Online (Sandbox Code Playgroud)

这是WCF服务的配置文件:

<configuration>
  <system.serviceModel>
    <bindings>
      <netTcpBinding>
        <binding name="MyBinding">
          <security mode="Message">
            <transport clientCredentialType="Windows"/>
            <message clientCredentialType="Windows" />
          </security>
        </binding>
      </netTcpBinding>
    </bindings>
    <behaviors>
      <serviceBehaviors>
        <behavior name="WCFTest.ConsoleHost2.Service1Behavior">
          <serviceMetadata httpGetEnabled="true"  />
          <serviceDebug includeExceptionDetailInFaults="true" />
          <serviceAuthorization impersonateCallerForAllOperations="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <services>
      <service behaviorConfiguration="WCFTest.ConsoleHost2.Service1Behavior"
          name="WCFTest.ConsoleHost2.Service1">
        <endpoint address="" binding="wsHttpBinding" contract="WCFTest.ConsoleHost2.IService1">
          <identity>
            <dns value="" /> …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net wcf

16
推荐指数
3
解决办法
5万
查看次数

Visual Studio 2012/Resharper单元测试不运行

我以前能够在VS 2012中运行单元测试.现在,突然之间,无论我尝试"运行"还是"调试"任何单元测试,单元测试会话窗口都会将测试置于"待定"状态,但是从来没有真正执行它.

我已经尝试重新启动我的开发环境,甚至重新启动计算机.没变.

那么秘密设置在哪里说"让单元测试冻结'待定'"?

c# resharper unit-testing vs-unit-testing-framework visual-studio-2012

16
推荐指数
3
解决办法
9433
查看次数

如何在安装/卸载ClickOnce应用程序期间执行自定义任务?

有没有办法在安装或卸载ClickOnce应用程序期间运行自定义代码?

这个问题在之前已被问过,但那是很久以前的问题,那里给出的答案是恕我直言,非常笨拙,我有点希望VS的后期版本提供更优雅的解决方案......

c# deployment installation clickonce

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

如何通过IIS7发送电子邮件?

我正在尝试在IIS7中的Windows 7计算机上设置SMTP服务器.我已将其设置为"将电子邮件发送到localhost,端口25,无需身份验证.但是当我尝试以编程方式从我的C#程序连接时,出现错误:

发送邮件失败",内部异常"无法建立连接,因为目标计算机主动拒绝它127.0.0.1:25

public static void SendEmail(MailMessage m) {
  var smtp = new SmtpClient {
    Host = "localhost",
    Port = 25,
    UseDefaultCredentials = true,
  };
  smtp.Send(m);
}
Run Code Online (Sandbox Code Playgroud)

为什么?我需要翻转什么其他秘密开关?

c# iis-7 smtp

15
推荐指数
3
解决办法
3万
查看次数

DLL版本控制错误

我有一个偶尔会抛出以下错误的网站:

'/'应用程序中的服务器错误.

无法加载文件或程序集'ICSharpCode.SharpZipLib,Version = 0.85.3.365,Culture = neutral,PublicKeyToken = 1b03e6acf1164f73'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)

现在我知道我确实依赖于这个DLL,但我的系统上有0.85.5版本.我已经从服务器系统地删除了每个旧版本的DLL,重新编译了所有内容并重新发布.但无论我做什么,似乎每次重新发布后,有人访问该网站的前一两次,他们都会收到此错误.然后刷新一次或两次后,错误消失,网站正常运行.

让我更奇怪的是,如果我查看引发错误的代码行:

URLRewriter.ProcessRewritingResult(status, excludedEnum, siteName, viewMode, relativePath);
Run Code Online (Sandbox Code Playgroud)

URLRewriter是来自第三方软件包的类(Kentico CMS - CMS.URLRewritingEngine.dll).我在该DLL上运行了Dependency Walker,并且在ICSharpCode.SharpZipLib上找不到任何依赖项.

任何想法如何解决这一问题?

编辑:在@ JeremyThompson的建议下,我运行了Process Monitor来捕获错误.这是一个屏幕转储,突出显示相关部分(出于隐私原因,一个文件夹名称被隐藏).您可以通过右键单击它来查看它的完整大小等...

在此输入图像描述

编辑:这是错误的负载跟踪.这有帮助吗?

===预绑定状态信息===

日志:用户= MY-SERVER-12 \管理员

日志:DisplayName = ICSharpCode.SharpZipLib,版本= 0.85.3.365,文化=中立,PublicKeyToken = 1b03e6acf1164f73(完全指定)

日志:Appbase = file:/// C:/ inetpub/wwwroot/MySite /

日志:初始PrivatePath = C:\ inetpub\wwwroot\MySite\bin

调用程序集:CMS.WebAnalytics,Version = 6.0.4377.2467,Culture = neutral,PublicKeyToken = 834b12a258f213f9.

===

日志:此绑定在默认加载上下文中启动.

日志:使用应用程序配置文件:C:\ inetpub\wwwroot\MySite\web.config

日志:使用主机配置文件:C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet.config

日志:使用C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config中的计算机配置文件.

日志:政策后参考:ICSharpCode.SharpZipLib,Version = 0.85.3.365,Culture = neutral,PublicKeyToken = 1b03e6acf1164f73

日志:尝试下载新的URL文件:/// C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/root/9760eb69/275bb3db/ICSharpCode.SharpZipLib.DLL.

日志:尝试下载新的URL文件:/// C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary …

c# asp.net iis dll sharpziplib

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

使用Linq在对象集合上运行方法?

这是一个很长的镜头,我知道......

假设我有一个收藏品

List<MyClass> objects;
Run Code Online (Sandbox Code Playgroud)

我想在集合中的每个对象上运行相同的方法,有或没有返回值.在Linq之前我会说:

List<ReturnType> results = new List<ReturnType>();
List<int> FormulaResults = new List<int>();
foreach (MyClass obj in objects) {
  results.Add(obj.MyMethod());
  FormulaResults.Add(ApplyFormula(obj));
}
Run Code Online (Sandbox Code Playgroud)

我会到可以做这样的事情:

List<ReturnType> results = new List<ReturnType>();
results.AddRange(objects.Execute(obj => obj.MyMethod())); 
// obviously .Execute() above is fictitious
List<int> FormulaResults = new List<int>();
FormulaResults.AddRange(objects.Execute(obj => ApplyFormula(obj)));
Run Code Online (Sandbox Code Playgroud)

我还没有发现任何可以做到这一点的事情.有这样的事吗?

如果没有像我上面提到的那样通用,至少可能有一种方法可以用于我现在正在处理的目的:我有一个包含一个包装类的对象的集合:

class WrapperClass {
  private WrappedClass wrapped;
  public WrapperClass(WrappedClass wc) {
    this.wrapped = wc;
  }
}
Run Code Online (Sandbox Code Playgroud)

我的代码有一个集合List<WrappedClass> objects,我想将其转换为List<WrapperClass>.是否有一些聪明的Linq这样做的方式,没有做单调乏味

List<WrapperClass> result = new List<WrapperClass>();
foreach (WrappedClass obj …
Run Code Online (Sandbox Code Playgroud)

c# linq

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

如何使用参数创建Windows服务?

我编写了一个Windows服务,我希望每个客户运行一个实例.这是因为每个客户都有自己的DB具有相同的模式; Windows服务之间的唯一区别是,它们每个都有一个与他们被指定服务的客户数据库相对应的不同参数.(而且我不能拥有一个具有多个工作线程的服务,因为数据库连接使用静态变量,我无法通过线程进行操作.)

我找到了关于如何制作Windows服务的这个简洁的小教程,但它只告诉我如何为单个服务设置它.我想设置n个服务实例,每个实例都有一个包含客户名称的显示名称,并使用表示客户ID的命令行参数运行.

上面链接的教程有一个名为的类MyWindowsServiceInstaller,它在本地系统上安装Windows服务,我猜这是一个合理的地方,可以foreach通过我的所有客户设置一个循环,为每个客户设置一个服务.但我无法在提供的接口上看到任何可以让我为新服务设置命令行参数的地方.

你怎么做呢?

c# windows-services

14
推荐指数
2
解决办法
3万
查看次数

MVC:传递参数来查看?

MVC新手问题:

我正在获取表单的URL go/{mainnav}/{subnav},我已成功路由到GoController该类,方法:

public ActionResult Index(string mainnav, string subnav) {
  return View();
}
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.但是现在我希望视图返回不同的HTML,具体取决于mainnav或subnav的值.具体来说,在javascript块中,我想要包含以下行:

myobj.mainnav = [value of mainnav parameter];
Run Code Online (Sandbox Code Playgroud)

并且,仅当subnav不为null或为空时:

myobj.subnav = [value of subnav parameter];
Run Code Online (Sandbox Code Playgroud)

如何将这些参数传递给没有代码隐藏的aspx页面?

c# asp.net-mvc visual-studio-2010

14
推荐指数
2
解决办法
9万
查看次数

MVC:单击"提交"按钮时会调用哪些代码?

MVC新手问题; 我正在学习,而不是阅读手册...... :)

我看到当我创建一个"编辑"视图时,自动生成的视图包含一个"提交"按钮:

<input type="submit" value="Save" />
Run Code Online (Sandbox Code Playgroud)

但是在后台调用什么代码才能保存?具体来说,这个视图底层的模型在我想要调用的代码中有自己的花哨的保存逻辑.如何让视图调用我的代码,而不是在幕后无形地调用任何标准代码?

c# asp.net asp.net-mvc

14
推荐指数
3
解决办法
3万
查看次数