小编Mik*_*ras的帖子

MVC2:原始Html是否有Html Helper?

是否有一个简单接受并返回原始html的Html助手?而不是像这样做丑陋的事情:

<% if (Model.Results.Count > 0) { %><h2>Results</h2><% } %>
Run Code Online (Sandbox Code Playgroud)

我想做这样的事情:

 <% if (Model.Results.Count > 0) { Html.RawHtml("<h2>Results</h2>") } %>
Run Code Online (Sandbox Code Playgroud)

不是很清洁,但我认为这有点改善.这样的事情存在吗?或者是否有更好的替代方法从这些转义字符中输出原始html而不是使用Html助手?

html html-helper asp.net-mvc-2

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

如何在不使用SvcUtil.exe覆盖服务配置名称的情况下设置命名空间?

我正在使用SvcUtil.exe生成我的WCF代码,如下所示:

SvcUtil.exe http://www.MyServer.com:8080/MyService/mex /out:"C:\test.cs" /mc
Run Code Online (Sandbox Code Playgroud)

我可以让它工作,但如果我设置添加一个/namespace参数(/namespace:*,MyNamespace),它会覆盖生成的接口ConfigurationName生成的值ServiceContractAttribute:

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
[System.ServiceModel.ServiceContractAttribute(ConfigurationName="MyNamespace.MyServiceName")]
public interface MyServiceName
{ ... }
Run Code Online (Sandbox Code Playgroud)

如果我没有设置命名空间,则值为ConfigurationName"MyServiceName",这是正确的("MyNamespace.MyServiceName"不正确且不起作用).我已经尝试添加/ ServiceName:MyService参数,但它告诉我它说

错误:/ serviceName:选项与其他选项冲突.检查您对该工具的使用.

如何在不覆盖ConfigurationName的情况下为生成的类指定命名空间?

wcf generated-code svcutil.exe

5
推荐指数
1
解决办法
8863
查看次数

为什么我在Chrome的开发者工具中设置断点很困难?

多年来我一直在经历这种情况,它发生在几台计算机上.我单击一行以在Chrome中设置断点,并且在没有大致相同频率的情况下发生以下其中一项:

  1. 什么都没发生.
  2. 有一个很长的延迟,比如2-10秒,然后出现断点.
  3. 断点显示在不同的行上,在执行期间有大约50%的可能性出现在正确的行上.
  4. 断点已正确设置.

这让我疯狂的时间最长.我认为这只是一个错误,但我不敢相信这么常用的功能会在这么长时间内保持如此错误,所以我想知道它是不是我.

有没有其他人经历过这个和/或知道如何修复它?这真烦人.

google-chrome breakpoints

5
推荐指数
0
解决办法
116
查看次数

Enumerable.ToDictionary是否只检索它需要的内容?

我正在使用Enumerable.ToDictionary从linq调用创建一个Dictionary:

return (from term in dataContext.Terms
        where term.Name.StartsWith(text)
        select term).ToDictionary(t => t.TermID, t => t.Name);
Run Code Online (Sandbox Code Playgroud)

该调用是否会获取每个术语的全部内容,还是仅从我的数据提供者中检索TermID和Name字段?换句话说,如果我这样写它,我会保存自己的数据库流量:

return (from term in dataContext.Terms
        where term.Name.StartsWith(text)
        select new { term.TermID, term.Name }).ToDictionary(t => t.TermID, t => t.Name);
Run Code Online (Sandbox Code Playgroud)

linq enumerable lazy-evaluation todictionary lazy-sequences

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

卸载后无法删除服务可执行文件

我正在卸载这样的服务:

using (AssemblyInstaller installer = new AssemblyInstaller(serviceFileName, new String[] { }))
{
    installer.UseNewContext = true;
    installer.Uninstall(null);
}
Run Code Online (Sandbox Code Playgroud)

工作正常,但后来我尝试执行 Directory.Delete,它抛出一个异常,表示对服务的可执行文件的访问被拒绝。然而紧接着,我可以在 Windows 资源管理器中手动删除该文件。

我的应用程序由请求管理员访问权限的安装程序运行,因此我假设它有权访问该文件。实际上,它会删除该目录中的所有其他文件,只是无法获取该文件。我也检查过,该文件不是只读的。

任何想法为什么我不能删除这个文件?

windows-services file-access delete-file

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

如何安装以管理员身份运行的Windows服务?

我编写了一个安装程序来安装需要启动/停止其他服务(B)的Windows服务(A).但是,当A尝试启动/停止B时,我得到以下异常:

System.InvalidOperationException:无法在计算机'.'上打开MyService服务.---> System.ComponentModel.Win32Exception:访问被拒绝

安装程序将服务作为本地服务安装,并通过我授予的UAC弹出窗口请求管理员权限.我还在设置为要求管理员权限的服务中添加了app.manifest文件:

但我仍然得到那个错误.

这就是我启动服务的方式(停止是相同的,当然除了它调用Stop):

using (Mutex mutex = new Mutex(false, "MyServiceLock"))
{
    mutex.WaitOne();

    if (ServiceExists(serviceName) == true)
    {
        using (ServiceController serviceController = new ServiceController(serviceName, "."))
        {
            serviceController.Start(); // this line throws the exception
        }
    }

    mutex.ReleaseMutex();
}
Run Code Online (Sandbox Code Playgroud)

为什么可以拒绝访问此服务?

.net windows-services admin-rights

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

我可以将MVC 2 DataAnnotation属性添加到现有属性吗?

我使用生成的类作为模型,我希望将DataAnnotation属性添加到它的一些属性中.因为它是生成的代码,所以我不想直接添加注释.还有另一种方法将它们附加到财产上吗?

我考虑过将模型作为接口,并使用部分类来生成类以订阅它.是否有一个不太精细的解决方案,假设它甚至可以工作?

c# validation generated-code data-annotations asp.net-mvc-2

3
推荐指数
1
解决办法
1857
查看次数

WCF:在服务器上生成异步工作线程是否安全?

我有一个WCF服务方法,我想异步执行一些操作(这样返回调用者几乎没有额外的延迟).在方法中生成System.ComponentModel.BackgroundWorker是否安全?我实际上是用它来调用其他一个服务方法,所以如果有办法异步调用其中一个,那就可以了.

BackgroundWorker是一种可行的方式,或者在WCF服务中有更好的方法或问题吗?

wcf asynchronous

3
推荐指数
1
解决办法
954
查看次数

如何找出哪个线程锁定了互斥锁?

我使用.Net Mutex类来跨线程锁定我的应用程序的部分内容.我遇到了一些死锁问题,如果我能找到当前有锁的线程的名称,那将非常有用.

有一个简单的方法吗?

.net multithreading mutex deadlock

3
推荐指数
1
解决办法
559
查看次数

Json.net似乎依赖于$ type作为第一个属性.有没有办法解除这个限制或轻松重新排序我的json?

我正在JavaScript中构建多态序列化类型并在.Net中反序列化它们.这工作正常,除非我的"$ type"属性不是第一个属性(Json.net似乎忽略它).

所以:

{
  "$type" : "...",
  "FirstName" : "Bob"
}
Run Code Online (Sandbox Code Playgroud)

工作(它反序列化为$ type提供的类型),但是:

{
  "FirstName" : "Bob",
  "$type" : "..."
}
Run Code Online (Sandbox Code Playgroud)

没有.

有没有一种方法可以让顺序无关紧要,或者一种简单的方法来获取我的json字符串并修改它,以便我的"$ type"属性始终位于.Net的顶部?换句话说,在我反序列化字符串以重新排序属性以便"$ type"位于顶部之前,我可以使用json.net吗?我不想在JavaScript /序列化方面要求它.

serialization json.net

3
推荐指数
1
解决办法
683
查看次数