小编Oli*_*pel的帖子

Web Api属性路由中的可选参数

我想处理以下API调用的POST:

/v1/location/deviceid/appid

附加参数来自Post-Body.

这对我来说都很好.现在我想通过允许"deviceid"和/或"appid"和/或BodyData为null来扩展我的代码:

/v1/location/deviceid
/v1/location/appid
/v1/location/
Run Code Online (Sandbox Code Playgroud)

这3个URL应该由相同的路由响应.

我的第一种方法(需要BodyData):

[Route("v1/location/{deviceid}/{appid}", Name = "AddNewLocation")]
public location_fromuser Post(string deviceid = null, string appid = null, [FromBody] location_fromuser BodyData)
{
    return repository.AddNewLocation(deviceid, appid, BodyData);
}
Run Code Online (Sandbox Code Playgroud)

这不起作用并返回编译错误:

"可选参数必须在最后"

接下来尝试:

[Route("v1/location/{deviceid}/{appid}", Name = "AddNewLocation")]
public location_fromuser Post([FromBody] location_fromuser BodyData, string deviceid = null, string appid = null)
Run Code Online (Sandbox Code Playgroud)

现在我的函数AddNewLocation()总是得到BodyData=null- 即使调用发送Body.

最后我设置了所有3参数可选:

[Route("v1/location/{deviceid}/{appid}", Name = "AddNewLocation")]
public location_fromuser Post(string deviceid = null, string appid = null, [FromBody location_fromuser BodyData = null)
Run Code Online (Sandbox Code Playgroud)

不工作:

BodyData不支持可选参数FormatterParameterBinding …

c# asp.net asp.net-web-api asp.net-web-api-routing

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

在设备上构建失败,退出代码为1

我成功构建了一个应用程序 更改一点之后,在模拟器上构建和运行仍然可以正常工作,但使用我的物理设备构建和运行意外失败:

PhaseScriptExecution [CP]\Embed\Pods\Frameworks /Users/oliverapel/Library/Developer/Xcode/DerivedData/WhagooAppFramework-ckcaymayjufpexdicjfdawwbkeht/Build/Intermediates/WhagooAppFramework.build/Debug-iphoneos/WhagooAppFramework.build/Script-26D4B954E53A2CB72C219E1A.sh cd"/Users/oliverapel/Dropbox/WhaGoO/Project WhaGoO/App.iOS/development"/ bin/sh -c /Users/oliverapel/Library/Developer/Xcode/DerivedData/WhagooAppFramework-ckcaymayjufpexdicjfdawwbkeht/Build/Intermediates/WhagooAppFramework.build/Debug -iphoneos/WhagooAppFramework.build/Script-26D4B954E53A2CB72C219E1A.sh

mkdir -p /Users/oliverapel/Library/Developer/Xcode/DerivedData/WhagooAppFramework-ckcaymayjufpexdicjfdawwbkeht/Build/Products/Debug-iphoneos/BerlinCapitalClub.app/Frameworks rsync -av --filter" - CVS /"--filter" - . svn /"--filter" - .git /"--filter" - .hg /"--filter" - 标题"--filter" - PrivateHeaders"--filter" - 模块""/ Users/oliverapel/Library /开发人员/ Xcode/DerivedData/WhagooAppFramework-ckcaymayjufpexdicjfdawwbkeht/Build/Products/Debug-iphoneos/Alamofire/Alamofire.framework""/ Users/oliverapel/Library/Developer/Xcode/DerivedData/WhagooAppFramework -ckcaymayjufpexdicjfdawwbkeht/Build/Products/Debug-iphoneos/BerlinCapitalClub.app/Frameworks"建筑文件列表...完成Alamofire.framework /

发送147字节收到26字节346.00字节/秒总大小是1073519加速是6205.31代码签名/Users/oliverapel/Library/Developer/Xcode/DerivedData/WhagooAppFramework-ckcaymayjufpexdicjfdawwbkeht/Build/Products/Debug-iphoneos/BerlinCapitalClub.app/Frameworks/ Alamofire.framework with Identity iPhone开发人员:Oliver Apel(W65P7YG9ZK)/ usr/bin/codesign --force --sign B68B8D50CF4B9D2517527291D6F3D051423B194F --preserved-metadata = identifier,entitlements"/ Users/oliverapel/Library/Developer/Xcode/DerivedData/WhagooAppFramework -ckcaymayjufpexdicjfdawwbkeht/Build/Products/Debug-iphoneos/BerlinCapitalClub.app/Frameworks/Alamofire.framework"/Users/oliverapel/Library/Developer/Xcode/DerivedData/WhagooAppFramework-ckcaymayjufpexdicjfdawwbkeht/Build/Products/Debug-iphoneos/BerlinCapitalClub.app/ Frameworks/Alamofire.framework:用户取消了操作.命令/ bin/sh失败,退出代码为1

在最后一行,我看到user canceled the operation.但我没有这样做.

我已经清理了构建文件夹,删除了派生数据,现在我不知道该怎么做.

iphone xcode ios

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

乘法和小数除法

我是C#的新手,现在遇到数学问题.为什么我不能像这样简单地划分或划分"简单":

 decimal mLon1 = 0;
 decimal mLat1 = 0;
 decimal mFactor = 111021;
 decimal mRadius = 100;
 decimal mLat = 12.123;

 mLon1 = mLon - mRadius / Math.Abs(Math.Cos(((Math.PI / 180) * mLat)) * mFaktor);
 mLat1 = mLat - (mRadius / mFaktor);
Run Code Online (Sandbox Code Playgroud)

编译器显示错误:

运算符'*'不能应用于'double'和'decimal'类型的操作数.

与运营商'/'相同......

如何让我的代码工作?任何暗示的Thx.

c#

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

用包含变量中的空格的 sed 替换文本

我尝试替换文本文件中的一些文本。在我的脚本中,我存储了要在两个变量中查找和替换的文本:

$currentProductName='hello'
$configProductName='byebye'
Run Code Online (Sandbox Code Playgroud)

替换是用这一行完成的:

sed -i'.bak' 's/$currentProductName/$configProductName/g' "$projectFile"
Run Code Online (Sandbox Code Playgroud)

一切正常,直到我的任何变量都包含空格。如果$configProductName设置为hello worldsed命令不能按预期工作。

我已经尝试过这个,但它也不起作用:

sed -i'.bak' 's/"$currentProductName"/"$configProductName"/g' "$projectFile"
sed -i'.bak' 's/\$currentProductName/\$configProductName/g' "$projectFile"
Run Code Online (Sandbox Code Playgroud)

我必须如何更改线路才能按预期工作?

linux bash sed

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

如何在课堂上放置"子课程"

我来自VB,我是C的新手.我有2个类:

public class Location {
  public decimal lat {get;set;}
  public decimal lon {get;set;}
}
public class credentials {
  public string username {get;set;}
  public string passwordhash {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

现在我想以某种方式在其他一些类中使用这两个类,新类看起来像这样:

public class something1 {
  public string property1 {get;set;}
  public string property2 {get;set;}
  // next 2 lines should be avoided -> class "Location"
  public decimal lat {get;set;}
  public decimal lon {get;set;}
  // next 2 lines should be avoided -> class "credentials"
  public string username {get;set;}
  public string passwordhash {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

我怎么能意识到这一点?我不熟悉所有OO的东西.感谢帮助.

c#

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

什么是lon&lat的有效值

如果我获得Point by Google地图或bing maps API的lon和lat,那么这些变量的最大和最小有效值是多少?

我想在将lon和lat存储到数据库之前检查一些用户输入.

geolocation

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

如果条件,如何使用null,dbnull和datetime

我从SQL-Server检索一些日期时间数据.在我的Web.Api控制器中,我建议数据库数据到我的对象.

这有效:

 if (reader["images_lastupload"] == DBNull.Value)
 {
      mydata.ImagesLastUpload = null;
 }
 else
 {
      mydata.ImagesLastUpload = Convert.ToDateTime(reader["images_lastupload"].ToString());
 }
Run Code Online (Sandbox Code Playgroud)

db字段"Images_lastupload"可以为NULL.所以我想检查一下.

mydata.ImagesLastUpload是一个可以为空的日期时间.一切正常.

但是短版不起作用:

 mydata.ImagesLastUpload = (reader["images_lastupload"] == DBNull.Value) ? null : Convert.ToDateTime(reader["images_lastupload"].ToString());
Run Code Online (Sandbox Code Playgroud)

如何使短版本工作?我的德语错误是:

Der Typ des bedingten Ausdrucks kann nicht bestimmt werden,weil keine implizite Konvertierung zwischen''und'System.DateTime'erfolgt.

c# ado.net

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

使用默认值初始化列表

我想要一个类,它将所有"允许的语言"存储在列表中.代码方应该能够修改列表.但是在第一次使用时,列表应该用一些默认值"初始化".

我有以下课程:

public class ApiLanguages
{
    public static List<string> AllowedLanguages { get; set; }

    public ApiLanguages()
    {
        AllowedLanguages.Add("de");
        //AllowedLanguages.Add("en");
        //AllowedLanguages.Add("es");
        //AllowedLanguages.Add("fr");
        //AllowedLanguages.Add("it");
    }
}
Run Code Online (Sandbox Code Playgroud)

当我现在在代码中访问类时

foreach (var language in ApiLanguages.AllowedLanguages)
{
      // do something here...
}
Run Code Online (Sandbox Code Playgroud)

ApiLanguages.AllowedLanguages为空.但我期待一个条目("de").我在这做错了什么?

c#

0
推荐指数
1
解决办法
1040
查看次数

将for循环语句重构为swift 3.0

我的代码中有以下行:

for (i = 0, j = count - 1; i < count; j = i++)
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助删除两个编译器警告,那i++ will be removed in Swift 3.0C-style for statement is depreciated

swift

0
推荐指数
1
解决办法
132
查看次数

sed 无法按预期使用脚本中的变量

我有一个小脚本可以做一些事情global在各种文件中进行一些字符串替换。应该这样做,sed以便仅更改受影响的行。

\n\n

准备:

\n\n
#!/bin/sh\nfind="M\xc3\xbccke Motorsport"\nreplace="M\xc3\xbccke Motorsport Racing Team"\nfile="/Users/meyer/Dropbox/Dev/App Framework iOS/dev/myfile.txt"\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是我在脚本中出现问题的行:

\n\n
sed -i s/"$find"/"$replace"/g "$file"\n
Run Code Online (Sandbox Code Playgroud)\n\n

不起作用(sed: 1: "/Users/meyer/Dropb ...": invalid command code o)。下一步尝试:

\n\n
sed -i \'s/\'"$find"\'/\'"$replace"\'/g\' "$file"\n
Run Code Online (Sandbox Code Playgroud)\n\n

不起作用(sed: 1: "/Users/meyer/Dropb ...": invalid command code o)。下一步尝试:

\n\n
sed -i "s/$find/$replace/g" "$file"\n
Run Code Online (Sandbox Code Playgroud)\n\n

不起作用(sed: 1: "/Users/meyer/Dropb ...": invalid command code o)。下一步尝试:

\n\n
sed -i s/$find/$replace/g "$file"\n
Run Code Online (Sandbox Code Playgroud)\n\n

不起作用(sed: 1: "Motorsport/M\xc3\xbccke": invalid command code M). …

linux variables sed sh

0
推荐指数
1
解决办法
2756
查看次数