我可以在www.domain.com上重定向所有domain.com-s,它就像魅力一样在服务器上工作:
<rewrite>
<rules>
<rule name="Canonical Host Name" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" negate="true" pattern="^www\.domain\.com$" />
</conditions>
<action type="Redirect" url="http://www.domain.com/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
Run Code Online (Sandbox Code Playgroud)
但是有一个副作用 - 当我在测试环境中时,它也可以工作,就像在localhost上一样,它总是在生产服务器上重定向.
如何添加一些仅在服务器上有效的条件?
我有两个 DTO:
public class MasterDTO
{
public int Id { get; set; }
public string Name { get; set; }
public List<DetailDTO> Details { get; set; }
}
public class DetailDTO
{
public int Id { get; set; }
public string DetailName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
另外,我有一个功能:
using (var context = new Context())
{
var r = context.MasterData
.Select(d => new MasterDTO
{
Id = d.Id,
Name = d.Name,
}
}
Run Code Online (Sandbox Code Playgroud)
我也需要填写 DetailDTO 列表并在单个请求中完成。
这时候,我要获取DetailsData数据列表,通过foreach将其添加到MasterDTO中,这当然会导致对数据库服务器的大量请求。
有更好的解决方案吗?