小编Mos*_*ose的帖子

Web应用程序的GetEntryAssembly

Assembly.GetEntryAssembly()不适用于Web应用程序.

但是......我真的需要这样的东西.我使用了一些在Web和非Web应用程序中使用的深层嵌套代码.

我目前的解决方案是浏览StackTrace以找到第一个被调用的程序集.

/// <summary>
/// Version of 'GetEntryAssembly' that works with web applications
/// </summary>
/// <returns>The entry assembly, or the first called assembly in a web application</returns>
public static Assembly GetEntyAssembly()
{
    // get the entry assembly
    var result = Assembly.GetEntryAssembly();

    // if none (ex: web application)
    if (result == null)
    {
        // current method
        MethodBase methodCurrent = null;
        // number of frames to skip
        int framestoSkip = 1;


        // loop until we cannot got further in …
Run Code Online (Sandbox Code Playgroud)

c# reflection code-generation assemblies stack-frame

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

在IIS 6上部署Asp.Net MVC 2/C#4.0应用程序

我遇到了从VS.Net 2008/MVC 1迁移到VS.NET 2010(+ C#4.0)/ MVC 2的问题

web.config中已经更新,该网站是在卡西尼运行良好,但现在我的问题是在IIS 6部署.

我更新了网站以使用ASP.Net 4运行,但无论我尝试什么URL,我总是有404错误.就好像路由没有被考虑在内一样(是的,通配符映射已经完成).

我不明白这个烂摊子,不能谷歌任何有趣的...谢谢你的建议!

iis-6 visual-studio-2010 visual-studio asp.net-mvc-2

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

C#Xml序列化,集合和根元素

我的应用程序序列化流中的对象.以下是我需要的样本:

<links>
  <link href="/users" rel="users" />
  <link href="/features" rel="features" />
</links>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,对象是"链接"对象的集合.

-----------第一版

起初我使用了DataContractSerializer,但是你不能将成员序列化为属性()

这是对象:

[DataContract(Name="link")]
public class LinkV1
{
    [DataMember(Name="href")]
    public string Url { get; set; }

    [DataMember(Name="rel")]
    public string Relationship { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是结果:

<ArrayOflink xmlns:i="...." xmlns="...">
  <link>
    <href>/users</href>
    <rel>users</rel>
  </link>
  <link>
    <href>/features</href>
    <rel>features</rel>
  </link>
</ArrayOflink>
Run Code Online (Sandbox Code Playgroud)

-----------第二版

好吧,不要安静我想要的东西,所以我尝试了经典的XmlSerializer,但是......哦,不,如果根元素是一个集合,你不能指定根元素和集合元素的名称......

这是代码:

[XmlRoot("link")]
public class LinkV2
{
    [XmlAttribute("href")]
    public string Url { get; set; }

    [XmlAttribute("rel")]
    public string Relationship { get; set; } …
Run Code Online (Sandbox Code Playgroud)

c# xml collections serialization root-node

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

Visual Studio -&gt; 包装每个参数

使用 Visual Studio 2019,我在“快速操作和重构”中找到了一个非常有用的重构选项:(可能来自 PowerTools,无论如何)

在此处输入图片说明

我只是想知道如何:

  • 我可以将此包装设置设为默认格式设置
  • 或立即将此格式应用于我的整个解决方案(无需重新锐化)

对于后者,使用 Visual Studio Code 的解决方案也将是完美的!

谢谢你的帮助

code-formatting visual-studio

6
推荐指数
1
解决办法
827
查看次数

ICollection / ICollection&lt;T&gt; 歧义问题

只是想对语法 sygar进行简单的扩展:

public static bool IsNotEmpty(this ICollection obj)
{
    return ((obj != null)
        && (obj.Count > 0));
}

public static bool IsNotEmpty<T>(this ICollection<T> obj)
{
    return ((obj != null)
        && (obj.Count > 0));
}
Run Code Online (Sandbox Code Playgroud)

当我使用某些集合时,它工作得很好,但是当我与其他集合一起工作时,我得到了

以下方法或属性之间的调用不明确:“PowerOn.ExtensionsBasic.IsNotEmpty(System.Collections.IList)”和“PowerOn.ExtensionsBasic.IsNotEmpty(System.Collections.Generic.ICollection)”

这个问题有规范的解决方案吗?

不,我不想在调用此方法之前执行强制转换;)

c# extension-methods icollection ambiguous

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

MVC 2,IModelBinder和ValueProvider发生了变化

我正在尝试迁移到ASP.Net MVC 2并遇到一些问题.这是一个:我需要直接绑定一个字典作为视图的结果.

在ASP.Net MVC 1中,它使用自定义IModelBinder完美地工作:

/// <summary>
/// Bind Dictionary<int, int>
/// 
/// convention : <elm name="modelName_key" value="value"></elm>
/// </summary>
public class DictionaryModelBinder : IModelBinder
{
    #region IModelBinder Members

    /// <summary>
    /// Mandatory
    /// </summary>
    public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
    {
        IDictionary<int, int> retour = new Dictionary<int, int>();

        // get the values
        var values = bindingContext.ValueProvider;
        // get the model name
        string modelname = bindingContext.ModelName + '_';
        int skip = modelname.Length;

        // loop on …
Run Code Online (Sandbox Code Playgroud)

imodelbinder asp.net-mvc-2

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

确定给定应用程序池的w3wp System.Diagnostics.Process

我的服务器上运行的网站很少.

我在应用程序中有一个"诊断"页面,显示当前进程的内存量(非常有用).

现在这个应用程序"链接"到另一个应用程序,我希望我的诊断页面能够显示另一个w3wp进程的内存.

为了获得内存量,我使用了一个简单的代码:

var process = Process.GetProcessesByName("w3wp");
string memory = this.ToMemoryString(process.WorkingSet64);
Run Code Online (Sandbox Code Playgroud)

如何识别我的第二个w3wp进程,知道它的应用程序池?

我找到了一个相应的线程,但没有适当的答案: 在IIS6应用程序池上查看特定于进程的性能统计信息的可靠方法

谢谢

iis system.diagnostics application-pool w3wp

4
推荐指数
2
解决办法
3190
查看次数

WCF - 自定义WDSL生成

我花了好几个小时尝试在wsdl生成中进行一些自定义,没有结果.我卡住了主要是因为我找不到一个清楚的样本我想做什么(我可能错过了一些东西).

让我们谈谈:我想自定义生成的WSDL.我发现的最相关的文章是关于向现有服务添加属性以添加行为,如本文所述.

我想要做的是能够分析OperationContract并生成和附加的xsd(如果需要).

我的问题是:

  • 如何在不添加属性的情况下添加或拦截现有的WSDL生成?
  • 如何在配置文件中配置此组件?

我不想改变svcutil.exe使用元数据的方式,只需在生成的wsdl中添加一些ComplexType'on-the-fly'.

谢谢你的建议!

c# wcf wsdl svcutil.exe operationcontract

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