小编Ben*_*ley的帖子

MS Web部署跳过删除规则不跳过

我已将以下跳过规则添加到我的项目中,但是当我使用Web Deploy发布内容时,/ config文件夹中的文件将被清除.

我正在使用这里发现的过程,我发誓它以前工作过.

我已将以下内容添加到项目文件中:

<PropertyGroup>
    <OnBeforePackageUsingManifest>AddCustomSkipRules</OnBeforePackageUsingManifest>
</PropertyGroup>
<Target Name="AddCustomSkipRules">
    <ItemGroup>
      <MsDeploySkipRules Include="SkipConfigFolder">
        <SkipAction>Delete</SkipAction>
        <ObjectName>dirPath</ObjectName>
        <AbsolutePath>.*\\config\\$</AbsolutePath>
        <XPath></XPath>
      </MsDeploySkipRules>
      <MsDeploySkipRules Include="SkipConfigSubFolders">
        <SkipAction>Delete</SkipAction>
        <ObjectName>dirPath</ObjectName>
        <AbsolutePath>.*\\config\\.*$</AbsolutePath>
        <XPath></XPath>
      </MsDeploySkipRules>  
    </ItemGroup>
</Target>
Run Code Online (Sandbox Code Playgroud)

当我发布(通过命令行使用包生成的cmd文件)时,输出以下内容:

-------------------------------------------------------
 Start executing msdeploy.exe
-------------------------------------------------------
 "C:\Program Files\IIS\Microsoft Web Deploy V2\\msdeploy.exe" 
   -source:package='<MyPackageFile>' 
   -dest:auto,includeAcls='False' 
   -verb:sync 
   -disableLink:AppPoolExtension 
   -disableLink:ContentExtension 
   -disableLink:CertificateExtension 
   -skip:skipaction='Delete',objectname='dirPath',absolutepath='.*\\config\\$' 
   -skip:skipaction='Delete',objectname='dirPath',absolutepath='.*\\config\\.*$' 
   -setParamFile:"<MySetParameters.xml>"
Info: Deleting filePath (Default Web Site/uPPK_32\config\New Text Document.txt).
Run Code Online (Sandbox Code Playgroud)

看起来正在添加跳过规则,但是通知新文本Document.txt正在被删除.我怎么能阻止这个?我错过了什么吗?

asp.net msbuild webdeploy

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

在热毛巾/ Durandal单页应用程序中加载View(激活)的调用函数

我正在使用Hot Towel SPA项目,我试图在激活视图时调用简单的js函数.我所看到的是,当调用activate函数时,似乎没有加载该项.

我也尝试将代码放在由其他SO帖子建议的activate调用的初始化函数中.这似乎没有帮助.

那么在Durandal/HotTowel中调用视图加载函数的推荐方法是什么?

home.js(查看型号)

define(['services/logger'], function (logger) {
    var vm = {
        activate: activate,
        title: 'Home'
    };

    return vm;

    function activate() {       
        logger.log('Home View Activated', null, 'home', true);
        return init();
    }

    function init() {
        $("#backBtn").hide();
        console.log($("#myBtn").html()); // returns undefined 
    }
});
Run Code Online (Sandbox Code Playgroud)

home.html(查看)

<section>  
  <div id="myBtn">test</div>
</section>
Run Code Online (Sandbox Code Playgroud)

javascript html5 single-page-application durandal hottowel

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

Web API OData EnableLowerCamelCase

我有一个使用OData的Web API 2应用程序,我需要在较低的驼峰情况下公开模型属性,因为它们被序列化.

有一个EnableLowerCamelCase方法似乎这样做但我不能让它被编译器识别.CodePlex上甚至还有一个使用OData 6.5.0 显示EnableLowerCamelCase的示例.

ODataModelBuilder builder = new ODataConventionModelBuilder();
builder.EnableLowerCamelCase(); // <-- this won't compile
Run Code Online (Sandbox Code Playgroud)

EnableLowerCamelCase已被删除?我错过了什么?

我使用以下包版本:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Antlr" version="3.5.0.2" targetFramework="net45" />
  <package id="elmah" version="1.2.2" targetFramework="net45" />
  <package id="elmah.corelibrary" version="1.2.2" targetFramework="net45" />
  <package id="Microsoft.AspNet.Mvc" version="5.2.0" targetFramework="net45" />
  <package id="Microsoft.AspNet.OData" version="5.3.0" targetFramework="net45" />
  <package id="Microsoft.AspNet.Razor" version="3.2.0" targetFramework="net45" />
  <package id="Microsoft.AspNet.WebApi" version="5.2.2" targetFramework="net45" />
  <package id="Microsoft.AspNet.WebApi.Client" version="5.2.2" targetFramework="net45" />
  <package id="Microsoft.AspNet.WebApi.Core" version="5.2.2" targetFramework="net45" />
  <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.2" targetFramework="net45" />
  <package id="Microsoft.AspNet.WebPages" version="3.2.0" targetFramework="net45" …
Run Code Online (Sandbox Code Playgroud)

c# odata asp.net-web-api2

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

如何实例化ODataQueryOptions

我有一个工作(简化)ODataController与以下方法.

public class MyTypeController : ODataController
{
  [HttpGet]
  [EnableQuery]
  [ODataRoute("myTypes")]
  public IQueryable<MyType> GetMyTypes(ODataQueryOptions<MyType> options)
  {
    return _repo.myResultsAsQueryable();
  }
}
Run Code Online (Sandbox Code Playgroud)

我希望能够从服务器调用此方法并执行此操作我需要实例化一个ODataQueryOptions需要的方法ODataQueryContext.

有一些如何执行此操作的示例(例如,此处此处),但它们似乎都引用了以前版本的OData.该ODataQueryContext构造目前需要第三个参数(ODataPath这是不是在我能找到的任何实例解决路径).

编辑: @snow_FFFFFF,这里有更多的上下文......我意识到我可以通过HttpClient简单地使用OData端点,但是我想直接与IQueryable进行交互.

问题是我正在处理的应用程序允许用户创建可以保存并随后被其他用户调用的过滤器(如复杂的搜索引擎).从JS客户端,他们只需按id查找过滤器,并对OData端点发出查询,并将过滤器应用于查询字符串.这在客户端非常有效,但我希望能够从服务器端做类似的事情.

这是我想要做的但是如何实例化ODataPath参数?

public IQueryable<MyType> FilterMyTypes(int filterID)
{
  // lookup filter by filterID from db...
  filter = "$filter=Status eq 1"; // for example...

  ODataPath path = // but how can I get the path!!!
  new ODataQueryContext(edmModel, typeof(MyType), path); 

  var uri = new HttpRequestMessage(HttpMethod.Get, "http://localhost:56339/mytypes?" …
Run Code Online (Sandbox Code Playgroud)

.net c# odata asp.net-web-api2

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