我们有一个在Web环境和Windows服务中调用的程序集。在一种方法中,它需要调查请求。但是当它在Windows服务中运行时,我们需要跳过该代码。我用了常用的方法
OrderBy
但是会发生什么,上下文不是null,因为第三方程序集在某处创建了假服务器。因此public class MyModel : IComparable<MyModel>
{
public int StationID { get; set; }
public string StationName { get; set; }
public int CompareTo(MyModel other)
{
return this.StationName.CompareTo(other.StationName);
}
}
包含if (HttpContext.Current == null)
return;
,HttpContext.Current
等。在快速观察中,可以看出这是不同类型的上下文。我可以通过这样做来解决问题
Server
但是,如果Izenda的下一个版本在URL中有其他内容会怎样?如果公司更改名称和Url会有所不同,该怎么办?
是否有另一个属性可以将真实的Web服务器请求或上下文与这些虚假对象分开?
答案 0 :(得分:1)
只需在WindowsService配置文件中的appsettings中输入密钥即可。
<add key="isService" value="true"/>
并检查代码以区分黑白网络或服务。